0

2 つの異なるタブに ListViews を持つタブ付きの Android アプリケーションがあります。両方のタブで使用できるようにしたいカスタム ArrayAdapter (myAdap) があります。問題は、各タブがそれぞれのリストビューの各項目のチェックボックスの状態を維持する必要があるということです。2 つのタブ、2 つの ListViews、チェックされたリスト項目の 2 つの異なるセット。2 番目の ListView (タブ) の myAdap のコピーを作成し、名前を変更するだけで、途中で移動できますが、最新の状態に保つために、あるファイルから別のファイルに変更をコピー/貼り付けることになります。各リストビューのチェックボックス状態のバッキング配列などの別のパラメーターを受け入れるように myAdap を変更する方が効率的だと思います。次に、次のようなもので myAdap をインスタンス化できますmyadapter = new myAdap (this, android.R.layout.simple_list_item_single_choice, backingArrayList);もう 1 つの考えは、親クラスに onCheckChange() リスナーを実装し、代わりにリスナーを myAdap に渡すことでした。これにより、バッキング配列がそれぞれのクラスに保持されますが、これが最善の方法であるかどうかはわかりません。私がここで考えていない別の方法はありますか?

4

1 に答える 1

0

アダプターの 2 つのオブジェクトをインスタンス化する必要があります

myadapterForTab1 = new myAdap (this, android.R.layout.simple_list_item_single_choice, backingArrayList);
myadapterForTab2 = new myAdap (this, android.R.layout.simple_list_item_single_choice, backingArrayList);
于 2013-03-12T11:45:23.643 に答える