私はこの問題に1日苦労していますが、解決方法がわかりません。
そのため、選択する項目のリストを表示する AlertDialog があります。これらのアイテムには複数のテキスト ビューが必要なので、setMultiChoiceItems()
デフォルト フォーマットを使用するシンプルなビルダーに頼ることはできません。
ここでは、次のようにしてカスタム ArrayAdapter を使用します。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Choose details to display");
builder.setAdapter(new ContactAdapter(this, 0, items), null);
OnClickListener
の 2 番目のパラメータとしてan を使用できると思っていましsetAdapter
たが、1 つのオプションを選択するとダイアログが閉じてしまいます。
これを修正しようとしてsetOnClickListener()
、次のように、行レイアウトを取得するときに ContactsAdapter 内に を追加しました。
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.contact_row, null);
view.setOnClickListener(new OnClickListener() {....}
これは機能しますが、行をクリックするとハイライトが表示されなくなります。これは本当に望ましくありません。
これを解決する方法はありますか?ListActivity を使用できることはわかっていますが、それは簡単に解決できますが、実際にはダイアログでこれを実行したいと考えています。ありがとう!