我正在研究一個應用程序,需要從按鈕事件中刪除ListView
中的項目。如何動態刪除ListView上的按鈕單擊項目?
我試圖從ArrayList
中刪除它,然後創建整個新適配器並再次加載列表,但由於列表很大,它會影響我的應用程序的性能,所以我想知道是否有其他方式可以刪除項目從我的列表動態?
我試過你說的人。
起初我只是試圖刪除一個項目,它工作完美,但隨着我增加選定的項目數量,它開始給我IndexOutOfBoundException。
這裏是我的代碼: -
public void onClick(View view)
{
SparseBooleanArray checkedPositions = new SparseBooleanArray();
checkedPositions.clear();
checkedPositions = lv.getCheckedItemPositions();
int size = checkedPositions.size();
if(size != 0)
{
for(int i = 0; i <= size; i++)
{
if(checkedPositions.valueAt(i))
{
list.remove(notes.getItem(checkedPositions.keyAt(i)));
notes.notifyDataSetChanged();
}
}
}
else{}
}
這裏指出是SimpleAdapter的對象的引用。
你必須添加arrayAdapter.notifyDataSetChanged() – 2011-03-31 09:30:38
那麼,如果你用'ArrayAdapter'工作直接與你沒有,但如果你一起工作的'ArrayList'你要。 – 2011-03-31 09:41:12
不幸的是我使用SimpleAdapter而不是ArrayadAdapter。那麼是否有任何方法可以像上面提到的那樣從SimpleAdapter中刪除項目?還是我需要使用SimpleAdapter的ArrayAdapter? – Varundroid 2011-03-31 09:46:56