2011-08-16 8 views
0

カスタムリストビューと(チェックボックスやボタン)に問題があります。私はガイド(アンドロイドdevolopersの料理本)と私のカスタムリストビューを正しく表示します。選択したチェックボックスがスクロールされたときvisisbleエラー(間違ったCheckboexesがチェックされている)カスタムリストビューとチェックボックス/ボタンの問題

私は http://www.vogella.de/articles/AndroidListView/article.html#listviews_performance のガイドを追った。発生したが、それは動作しません。どのように状態を正しく保存するのですか?

挨拶 アンドレアス

答えて

0

あなたは、項目がリスト変数内に存在するかどうかに応じて、正しい状態(チェック/未チェックを)(あなたのアダプタサブクラスの)リストの変数でチェックされた項目を保存し、設定する必要があります。

private List<MyItem> mCheckedItems; //In your adapter subclass 

リスト変数から項目を削除/追加:私は "OnItemClickListenerを実装" する必要が

public View getView(int position , View view , ViewGroup parent) //In your adapter subclass 
{ 
    final MyItem item = getItem(position); 
    CheckBox checkBox = (CheckBox)view.findViewById(R.id.checkBox); 
    checkBox.setChecked(mCheckedItems.contains(item)); 
} 
+0

:チェックボックスの正しい状態を設定し

//The AdapterView.OnItemClickListener, is present where you set myListView.setOnItemClickListener(this); public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { MyItem item = myAdapter.getItem(position); myAdapter.updateCheckedItems(item); } public void updateCheckedItems(MyItem item) //In your adapter subclass { if(!mCheckedItems.contains(item)) { mCheckedItems.add(item); } else { mCheckedItems.remove(item); } } 

を?拡張されたArrayAdapter クラスでは? onItemClick関数は決して入力されませんでした。そしてあなたが追加したdoc要素は何ですか? – wutangl

+0

その完了... ;-)その仕事! – wutangl

+0

私の答えを更新しました。不明な点をお詫び申し上げます。それがあなたを助けたら答えとしてマークしてください。 – Akshay

関連する問題