我有一个异步任务,它创建一个 HashMap 来创建一个适配器来填充 ListView。我有一个在 doInBackground 方法期间显示的进度对话框。在 onPostExecute() 方法中,我关闭了进度对话框并调用了一个方法,该方法使用保存在 doInBackground 方法中的项目列表填充我的列表视图。
这工作正常。但我注意到一些奇怪的事情:
我看到的问题是,如果我在进度对话框即将关闭时锁定屏幕(在 onPostExecute 中),即使列表视图中包含非空项目,列表视图也不会显示。我在 logcat 消息和调试时验证了它。
屏幕锁定(我按电源按钮一次)是否有可能阻塞 UI 线程?如何解决问题并确保 ListView 显示其项目?
onResume() 的代码:
@Override
protected void onResume(){
super.onResume();
if(MyAdapter !=null){
pull_listView.setAdapter(MyAdapter);//pull_listView is listview
MyAdapter.notifyDataSetChanged();//MyAdapter is the adapter
}
}