2011-12-17 47 views
3

現在、私はテレビ番組用のエピソードガイドアプリケーションを開発しています。基本的な構造は、エピソードがリストに入れられ、リスト項目(別名エピソード名)をクリックすると、エピソード記述がトーストに現れます。トーストを使用する代わりに

これは一般的にうまくいきますが、エピソードの説明が長すぎて、指定された時間にそれを読み取ることができない場合があります。

このような状況でトーストを使用する方法はありますか?助けてくれてありがとう。

編集:

 @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     //Toast.makeText(this, _details[position], Toast.LENGTH_LONG).show(); 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setMessage(this, _details) 
      .setCancelable(false) 
      .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
         dialog.cancel(); 
       } 
      }); 
    } 

(それは私の前のコードだったので、私は参考のためにそこにトーストの一部を保ちました)。

正しいコードhereを見て、それを使用する方法

 @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     //Toast.makeText(this, _details[position], Toast.LENGTH_LONG).show(); 
     AlertDialog.Builder adb=new AlertDialog.Builder(CurrentActvity.this); 
     adb.setTitle("Title"); 
     adb.setMessage(_details[position]); 
     adb.setPositiveButton("Ok", null); 
     adb.show(); 
    } 
+0

最近、スナックバーがあります(http://developer.android.com/reference/android/support/design/widget/Snackbar.html) –

答えて

1

Dialogオブジェクトを使用して情報を表示したり、カスタムビューでも(たとえばFrameLayoutを使用して)ジョブを実行できます。

+0

それはあなたを助けましたか?運が良ければ? –

+0

はい私はダイアログを使用するのが正しい考えだと思いますが、リスト項目をクリックしたときにダイアログを表示させる方法は不明です。最新の質問を現在のコードで確認してください。 – shamsad97

+0

わかりました。私は自分で解決策を見つけました。しかし、ダイアログについてのヒントをありがとう:) – shamsad97

0

Toastの代わりにCroutonライブラリがあります。 Applicationクラス内からではなく、Activityから呼び出すことができます。それにもかかわらずあなたを助けるかもしれません。

1

オープンソースライブラリのCroutonは、私が信じるこのケースでは非常に良い選択です。あなたはそれを試してみることができます...

クローントンは、コンテキスト非依存トーストの代替手段が必要と感じるAndroid開発者が使用できるクラスです。

これは、オープンソースのライブラリで、次のようにURLがある: https://github.com/keyboardsurfer/Crouton

3

CroutonまたはSnackBarは、正確な状況に応じて、あなたのための最良の選択肢である可能性があります。

関連する問題