我正在使用試圖添加/刪除項目的ListView。添加位相當簡單,但刪除雖然證明是棘手的。 我正在考慮使用多項選擇列表,但是從簡單的事情開始,我選擇了一種選擇模式來測試它。 我有一個包含項目的字符串數組,一個數組適配器在數據發生變化時進行通知。ListView選擇的位置總是重置
expenseAdapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice,
android.R.id.text1,
expenseList);
myListView.setAdapter(expenseAdapter);
myListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View item, int position,
long index) {
((ListView)parent).setItemChecked(position, true);
item.setSelected(true);
}
});
我還爲該項目添加了一個監聽器onClick事件。在視覺上該項目被選中/取消選中問題是當我點擊觸發項目刪除的按鈕時,列表中選定的索引始終爲-1,儘管該項似乎被選中。
與onClick事件public boolean doDelete(View view)
{
ListView myListView= (ListView)findViewById(R.id.list);
String s=(String)myListView.getSelectedItem();
expenseList.remove(s);
expenseAdapter.notifyDataSetChanged();
return true;
}
任何想法發生了什麼還是什麼,我做錯了
刪除按鈕?
你如何執行刪除操作,你可以在這裏發佈完整的代碼以便更好地理解。 –
添加了刪除代碼。 – Sleeperson
您每次都得到-1,因爲您從列表中刪除一個對象並且不可用。 –