2011-10-25 11 views
2

私は今この問題に苦しんでおり、解決方法を理解できません。複数の選択肢とカスタム表示のダイアログ

私は選択するアイテムのリストを表示するAlertDialogを持っています。これらのアイテムは複数のテキストビューを持つ必要があります。したがって、デフォルトフォーマットを使用している単純なsetMultiChoiceItems()には依存できません。

は、私はこれを行うことによって、ここに私のカスタムArrayAdapterを使用します。

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Choose details to display"); 
builder.setAdapter(new ContactAdapter(this, 0, items), null); 

は私が setAdapterの二paramtereとして OnClickListenerを使用することができますが、それは一つの選択肢を選択した後、ダイアログを閉じ思いました。本当に私

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = inflater.inflate(R.layout.contact_row, null); 
view.setOnClickListener(new OnClickListener() {....} 

これは動作しますが、私は、行をクリックしたときにハイライトを取得して停止し、:私は、行のレイアウトをフェッチするとき、私はこのように、私のContactsAdapter内setOnClickListener()を追加しました。この問題を解決しようとすると

ほしくない。

これを解決する方法はありますか?私はListActivityを使うことができ、解決するのは簡単だと知っていますが、実際にダイアログでこれをやりたいのです。ありがとう!

答えて

2

ListActivityを使用して簡単に行うと思われる場合は、それを行い、アプリケーションマニフェストのアクティビティにsetTheme(android.R.style.Theme_Dialog)またはandroid:theme="@android:style/Theme.Dialog"を使用してダイアログテーマを使用してください。

HoneycombまたはIce Cream Sandwich(Android 3.0以降)をターゲットに設定している場合は、setTheme(android.R.style.Theme_Holo_Dialog)android:theme="@android:style/Theme.Holo.Dialog"となります。

+0

まず、聞いたことがないからです。私は今それを試し、後でフィードバックを与えるでしょう:) –

+0

確かなこと! :-) –

+0

それはうまくいったけど、私は全体のビュー(ok /キャンセルボタン)を作って、1つのアクティビティから別のアクティビティにエクストラを渡さなければなりません。それはOKですが、実際にはアラートを使うほど滑らかではありません。少なくとも私の電話で:)解決策には本当に満足していない! –

関連する問題