)
Android での ListView の使用に関するチュートリアルを見つけました。しかし、それについて質問があります。ここでチュートリアル:
http://www.vogella.com/articles/AndroidListView/article.html#listadvanced_interactive
セクション 13.2 までスクロールする必要があります。
チュートリアルの考え方は、一方では ListView (各項目にチェックボックスがある) を持ち、他方では ArrayList を持ちます (ArrayList の項目はオブジェクトであり、ArrayList の項目に表示される情報を含みます)。 ListView、例えば CheckBox がチェックされているかどうか、テキストなど)。アダプターは、両方を等しく保つ必要があります。ArrayList を変更すると、ListView も変更されます。
しかし今、私の質問です。ユーザーがリストの 1 つの項目に触れると、アダプターはメソッド「onCheckedChanged」を呼び出します。しかし、そこで何が起こるでしょうか?そこにオブジェクトが作成され、CheckBox からタグが取得されます。Ok。これでメソッドは完了です。ガベージ コレクターはオブジェクトを破棄しますか? アクティビティでそこからこの情報が必要になるのはいつですか。リストの下に「削除」ボタンがあるとします。したがって、これらの情報をアダプターのリスナーからアクティビティに転送する必要があります。すべてのクラスで正しい情報を持つ同じ ArrayList を確実に使用するにはどうすればよいですか?
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
Model element = (Model) viewHolder.checkbox
.getTag();
element.setSelected(buttonView.isChecked());
}
私が何を意味するか知っていることを願っています。説明してもらえますか?
言語については申し訳ありませんが、英語は私の母国語ではありません。
さよなら