0

「SelectAll」ボタンと「DeselectAll」ボタンを使用して、リストビューのすべてのアイテムを選択および選択解除したいと思います。SelectAllのコードを作成しましたが、がスローされNullPointExceptionます。コードにバグが見つかりませんでした。誰かが私のコードのエラーを指摘できますか?

final ListView list;
String[] listItems = { "Enabled" };

list = (ListView)findViewById(R.id.list);

list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, getResources().getStringArray(R.array.facilities)));
list.setItemsCanFocus(false);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);                                       

list.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        CheckedTextView ctv = (CheckedTextView)arg1;
        //other functionality!                                              
    }
});

OnClickListener clickListener = new OnClickListener() {
    @Override
    public void onClick(View view) {
        int itemCount = getListView().getCount();
        System.out.print(itemCount);
        for (int i = 0; i < itemCount; i++){
            list.setItemChecked(i, true);
            //getListView().setItemChecked(i, chk.isChecked());
        }
    }
};

Button button = (Button) findViewById(R.id.selectAll);
button.setOnClickListener(clickListener);
4

2 に答える 2

0

以下のコードを使用してみてください...

private OnClickListener checkAllCheckboxes = new OnClickListener()
{
   public void onClick(View v) 
   {
       ListView lv = getListView();
       int size = getListAdapter().getCount();
       if(lv.isItemChecked(0))
       {
           for(int i = 0; i<=size; i++)
           {
              lv.setItemChecked(i, false);
           }
       } 
    }
 }
};
于 2013-01-10T07:32:04.087 に答える
0

データ クラスの ArrayList を 1 つ作成できます

class data
{
boolean chekced=false 
create setter and getter of this 

}

Data Class の ArrayList を最初に作成し、すべての arraylist 項目で Checkced を false にします select が呼び出されたら、すべての項目を true に設定します 次に、adpater を変更し、listView で notifyDatasetChanged を呼び出します

これはあなたがこれを行うことができる方法です

于 2013-01-10T07:39:31.560 に答える