Android中的ListView直到我触摸才显示项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中的ListView直到我触摸才显示项目相关的知识,希望对你有一定的参考价值。

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

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

答案

我刚遇到问题,发现了什么问题。它基本上意味着没有在主线程上调用ListAdapter.notifyDataSetChanged()

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

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

Activity.this.runOnUiThread(new Runnable() {

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

});

以上是关于Android中的ListView直到我触摸才显示项目的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 页面未在 Android 应用程序中加载,仅显示微调器,直到我触摸屏 6.0.1

Android listview 不再突出显示单击时的选择

WebView 为空,直到我触摸组件

中断Android中的最后一次触摸事件

UIPickerView 直到发生触摸才出现

具有快速滚动和字母部分索引的 Android ListView