我想使用「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);
我用上面的代碼,但仍然面臨同樣的錯誤。應用程序意外關閉,並拋出NullPointException。 – bunnie
因爲在上面的代碼中使用了getListAdapter(),我的MainActivity是否應該擴展ListActivity以具有getListAdapter方法?如果我這樣做,我得到了「RunTimeException:你的內容應該有一個ListView,其ID爲android.R.id.list」 – bunnie
在你的xml文件中,你必須使用android:id =「@ android:id/list」 –