gpt4 book ai didi

java - Android - 从 ListViewAdapter 中删除项目然后刷新

转载 作者:行者123 更新时间:2023-12-01 18:16:26 25 4
gpt4 key购买 nike

我正在尝试从 ListViewAdapter 中删除一个项目,我已经实现了我的 setOnItemLongClickListener 执行此操作:

getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Toast.makeText(getActivity(), "On long click listener", Toast.LENGTH_LONG).show();


return true;
}
});

它向我显示了一个Toast,验证它是否检测到onClickListener,我尝试将其删除:mItems.remove(arg2);,但没有任何反应.. .我正在寻找正确的答案,我发现我必须调用 notifyDataSetChanged(),但由于我无法调用此方法,所以我尝试了这个:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

case R.id.ofertasRefresh:
mItems.notifyAll();
return true;

default:
return super.onOptionsItemSelected(item);
}

但是什么也没发生,LogCat 上没有错误,应用程序没有崩溃,什么也没有......你们能告诉我我错过了什么吗?

最佳答案

你应该这样做-

//作为类成员

ListViewDemoAdapter myAdapter;

然后在方法中-

myAdapter = new ListViewDemoAdapter(getActivity(), mItems);
setListAdapter(myAdapter);

现在在 onItemClickListener 中,

mItems.remove(arg2);
myAdapter = new ListViewDemoAdapter(getActivity(), mItems);
setListAdapter(myAdapter);

请注意,这不是最好的解决方案,但它应该适合您的情况。

关于java - Android - 从 ListViewAdapter 中删除项目然后刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29237773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com