【问题标题】:how to refresh listView from its adapter如何从其适配器刷新 listView
【发布时间】:2017-02-09 20:52:15
【问题描述】:

BaseAdapter 刷新ListView 的最佳方法是什么?我有一个带有适配器的ListView。这里其中一个视图有一个按钮,当用户单击时,我想刷新某个视图(在位置)。

我曾尝试在public View getView(int position, final View convertView, final ViewGroup parent) 中调用以下代码,但这不起作用。

View attendingUsers = parent.getChildAt(11);
attendingUsers.invalidate();

有没有办法重绘视图?

【问题讨论】:

  • ListView 不支持单行更新.. 对于单行更新,您需要使用 RecyclerView
  • 有没有办法从适配器刷新整个列表?
  • 更新列表后调用 otifyDataSetChanged()
  • 哦,我没有意识到我可以在适配器内部调用它,谢谢

标签: android listview baseadapter


【解决方案1】:

致电notifyDataSetChanged(); 解决了我的问题

【讨论】:

    【解决方案2】:

    这仅适用于 RecyclerView 而不适用于 ListView。 使用 notifyItemChanged (int position, Object payload) 效率更高,更多信息: notifyItemChanged reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      相关资源
      最近更新 更多