【问题标题】:ListView in android does not show items until I touchandroid中的ListView在我触摸之前不会显示项目
【发布时间】:2015-04-09 12:51:57
【问题描述】:

我有一个 ListView(first),我在第一次活动开始和用户从菜单中选择一些选项时设置适配器。 我在同一活动中有另一个列表(第二个),其中显示了某些项目的下载进度。 我已经开始重复任务来更新这个 ListView 以更新每个项目的进度。 现在的问题是,如果我从菜单中选择任何选项来更改第一个列表适配器,它将根据需要失效。 但是,如果我的第二个 ListView 中有一些项目已经下载,那么从菜单中选择一个选项来更改第一个列表上的适配器只会显示一个空白列表。

但是当我在列表上拖动时,所有项目都会显示。 我没有找到问题所在。 请帮忙。

【问题讨论】:

  • 你需要显示你的代码花花公子..
  • 您找到解决方案了吗?我遇到了完全相同的问题。

标签: android android-layout android-listview android-adapter


【解决方案1】:

我刚刚遇到问题并发现了问题所在。基本上就是说ListAdapter.notifyDataSetChanged()没有在主线程上被调用过。

这意味着它通过更改不在主线程上的适配器数据发生。例如调用ArrayAdapter.add()

解决方案很简单。将您的适配器数据更改方法放在主线程上。例如你可以这样做:

Activity.this.runOnUiThread(new Runnable() {

    @Override
    public void run() {
        mAdapter.notifyDataSetChanged();
    }

});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多