【问题标题】:SwipeMenuListView new Row added is showing First time dataSwipeMenuListView 添加的新行显示第一次数据
【发布时间】:2016-04-25 18:43:15
【问题描述】:

我已经阅读了许多关于此主题的先前帖子,但我没有正确理解。

我有一个适配器,它具有列表中项目的私有值。 当我更新值(添加新项目)时,我会在调试器和“getView”函数中观察值并查看值是否正确。

但我看到的实际 rowView 只是列表中的第一项。

我不知道是什么原因造成的。

这个列表视图在同一个活动上,而我显示不同的布局并隐藏列表视图以添加新项目。

当列表视图可见性为“GONE”时是否存在连接? 当我从中删除项目时,它会很好地更新列表视图(当列表视图可见时完成)。

private void updateAdapter() {
    this.values.clear();
    this.values.addAll(staticlistIndifferentclass);
    notifyDataSetChanged();
}

~~~~更新~~~~ 好的, 所以我发现了问题的原因,虽然我不确定为什么会这样。 使用常规 Listview 的代码很好,但存在错误:

com.baoyz.swipemenulistview.SwipeMenuListView

【问题讨论】:

  • 可以分享adapter类的代码吗??以及使用 notifydatasetchanged 的​​地方
  • 你能发布你如何初始化适配器吗?
  • 你是怎么解决这个问题的?
  • 我使用了不同的库。

标签: android listview


【解决方案1】:

尝试使用ListView.invalidateViews

这应该会导致视图重建

【讨论】:

    【解决方案2】:

    像这样使用新的Adapter 对象:

    listView.setAdapter(new yourCustomAdapter());
    

    当你删除所有dataSet项时,最好绑定新的Adapter对象。

    【讨论】:

    • 对列表的每次更改都创建新适配器是不正确的。
    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    相关资源
    最近更新 更多