![](/img/trans.png)
[英]How to delete item from ListView while using Custom ArrayAdapter w/ Dialog
[英]How to delete item from listview using own ArrayAdapter?
我有問題,我想從ArrayList中刪除一行眉形listView和此元素。
這是我的新ArrayAdapter
private ExpenditureAdapter adapter = null;
我使用以下方法向其中添加數據:
adapter = new ExpenditureAdapter(this,R.layout.activity_show_list,addExpenditure.getExpidentures());
setListAdapter(adapter);
它可以正常工作,但是我想創建OnItemClickListener
並使用它從listView
和ArrayList<Expenditure>
刪除數據,但是該怎么做呢?
我的努力:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
addExpenditure.getExpidentures().remove();
}
});
但是ofc不起作用。如何獲取索引來刪除它?
嘗試這個
YourListView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position,
long arg3)
{
YourArrayList.remove(position);
YourArrayAdapter.notifyDataSetChanged();
}
});
您幾乎可以正常工作,將聽眾更改為:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
addExpenditure.getExpidentures().remove(position);
parent.notifyDataSetChanged();
}
});
基本上,如果要更改適配器(您的ArrayList)的基礎數據,則需要通知適配器,以便它可以相應地更新列表。 這將刪除該項目,然后重新繪制列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.