1

ダイアログのスクリーンショット

私の目的
は、上部のスクロール可能なリスト ビューと下部の [OK] ボタンで構成されるカスタム ダイアログを作成しました。リスト ビューの各行にチェックボックスを配置し、[OK] をクリックしたときに選択されるチェックボックスをキャプチャしたいと考えています。

問題
オンラインでいくつかのチュートリアルとここでの Q&A を調べた後、基本的なアプローチを思いつきました。私がやったことは

、1.リストビューのアダプターで、作成時にsetTag()によって各チェックボックスにオプション名を添付します
2.オンチェックされたオプションを配列に入れるアダプターにonCheckedChangeListenerを設定するか、削除します選択されていない場合のオプション
3. メイン UI アクティビティ内の onCreateDialog で、OnClickListener を [OK] ボタンにアタッチし、アダプターからオプション配列 (手順 2 で取得) を取得します。

最終的には機能します。しかし、それは面倒でエレガントではないと思います。リスト ビューに onItemClickListener を使用するか、AlertDialog にカスタム ビューを配置する (ボタン/チェックボックスの管理が向上する) ことを考えましたが、試行錯誤の末にあきらめました。

より良いアプローチを考えることができる人はいますか?

4

2 に答える 2

0

かなり複雑なダイアログが必要でしたが、RelativeLayoutを拡張するウィジェットとして作成することになりました。カレンダーアイコンをクリックすると、ウィジェットを使用するアクティビティが開始され、データベースのコンテンツに応じて、カレンダーに日数が入力されます。

カレンダーウィジェット

レイアウトを拡張すると、レイアウト自体のサイズ、レイアウト、およびキャンバスに描画する内容を完全に制御できます。このアクティビティはOnTouchListenerを実装して、カレンダーのどの日付がタッチされたかを取得します。画像の追加や選択されたチェックボックスの取得にも同じことが当てはまると思います。

于 2012-08-01T18:09:46.223 に答える
0

マルチチョイスモードのalertdialogについて読んでください。

于 2012-08-01T11:33:54.177 に答える