チェックボックスリストを作成し、チェックしたオプションを保存するさまざまな方法を誰かが説明してもらえますか? 例を添付していただけると助かります。入力を保存するために arraylist を使用していますが、他にどのような方法がありますか?
final CharSequence[] items = {};
final ArrayList seletedItems = new ArrayList();
チェックボックスリストを作成し、チェックしたオプションを保存するさまざまな方法を誰かが説明してもらえますか? 例を添付していただけると助かります。入力を保存するために arraylist を使用していますが、他にどのような方法がありますか?
final CharSequence[] items = {};
final ArrayList seletedItems = new ArrayList();
「チェック済み」フィールドを持つように ListItem オブジェクトを定義します
class ListItem{
boolean isChecked=false;
}
リスト アダプタでを にgetView
アタッチしonCheckedChangeListener
、CheckBox
オブジェクトのチェック状態を変更します。何かのようなもの:
final MessageItem Message=getItem(position);
message.setText(Message.text);
//set data
select.setOnCheckedChangeListener(null); //important so that when reusing the view the old listener isn't called
select.setChecked(Message.selected);
select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
Message.selected=isChecked;
}
});
次のようなオブジェクトのカスタム クラスを作成できます。
public class entity
{
public boolean isChecked;
//Any other variables can also be created
}
チェックボックスの選択時に、の値を変更します
entityobj[index].isChecked=true/false;
カスタム リスト アダプターを適用します。アダプターの getview() メソッドで isChecked 値を確認してから、それぞれのチェックボックスをオンまたはオフにできます。これを使用すると、スクロール中も選択が保持されます。お役に立てば幸いです...