- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 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/
1.这个ListView Adapter集成在fragment上 public class ListViewAdapter extends BaseAdapter { // Declare Var
我正在尝试从 ListViewAdapter 中删除一个项目,我已经实现了我的 setOnItemLongClickListener 执行此操作: getListView().setOnItemLon
我很困惑。我在网上找到了一些建议,但我无法在此代码上实现它。这是我的问题。每次我滚动时, ListView 的顺序都会困惑。我不知道该怎么做。我真的需要一些帮助。我会非常感谢你的好意。这是我的代码:
像往常一样,这个问题来自 Android 的新用户。三周后,我会尽力解释这个问题。 首先,我从今天开始使用 Exlipse 3.7.1 和 SDK r15,因为我想我会尝试升级,也许这就是导致问题的原
我想在 ListViewAdapter 中创建超过 1500 个 LyricsFullDetail,但我的问题是我不想在 ListViewAdapter.java 中硬编码 Lyrics Full D
我目前正在创建一个 Android 版 GoogleMaps 应用程序,并将位置列表存储在在线服务器的数据库中。我成功地拉动了它们,现在我想使用 Actionbar 搜索 View 创建一个用户可以搜
我正在创建一个具有一个 Mainactivity 和两个类的应用程序。它包含 ListView 适配器,用于显示带有图像和详细信息的名称列表。当单击任何图像时...将弹出警报对话框,从选项中,我希望用
我是一名优秀的程序员,十分优秀!