【问题标题】:Android, remove adapter from listviewAndroid,从列表视图中删除适配器
【发布时间】:2015-01-03 09:41:50
【问题描述】:

我有一个ListView 用于一些不同的适配器,是否有权使用以下代码删除我的ListView 适配器并清除ListView

list.setAdapter(new ArrayAdapter<Void>(mContext, 0, new Void[]{}));

你的报价是什么?最好的方法是什么?

代码已更新

【问题讨论】:

  • list.setAdapter(null);list.notifyDataSetChanged();
  • 您应该考虑清除您的ArrayList 并调用notifyDataSetChanged() 而不是将适配器设置为null
  • 应用程序将在 android 2.1 中以 list.setAdapter(null) 崩溃
  • 为什么你不再用空列表初始化你的适配器并调用notifyDataSetChanged
  • 为什么要设置空适配器而不是你可以隐藏那个listView视图

标签: android android-arrayadapter


【解决方案1】:

只需设置 Listview.setAdapter(null)

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
【解决方案2】:

清除资源中的数据(即)您在 arrayAdapter 中使用过的数据

madapter.notifyDataSetChanged();

【讨论】:

  • 我正在使用多个适配器,通过清除它们我不得不再次重新填充它们,这需要时间......
  • 如果您想更改列表中的内容,只需清除数据并将新数据添加到 ArrayList 并调用 madapter.notifyDataSetChanged();有点快试试吧
  • 有这么糟糕吗??? :list.setAdapter(new ArrayAdapter&lt;Void&gt;(mContext, 0, new Void[]{}));为什么要搭档??
  • 在某些情况下,我需要将列表设为空,并显示“未找到任何内容”列表在某些情况下必须为空...
  • 你能解释一下确切的问题是什么...更新 listView 或显示 Toast???
猜你喜欢
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 1970-01-01
相关资源
最近更新 更多