gpt4 book ai didi

android - 这段代码为什么不能在onCreate之后填充ListView?

转载 作者:行者123 更新时间:2023-11-29 18:18:53 25 4
gpt4 key购买 nike

我有一个 ListView View ,我需要使用从服务器获取的数据来填充它。数据的获取是在 AsyncTask 后台线程中完成的。

            ListView view = new ListView(RestaurantInfo.this);
CustomAdapter adapter = new CustomAdapter(RestaurantInfo.this, R.layout.restaurant_info, R.id.dish_name, data);
view.setAdapter(adapter);
LinearLayout layout = (LinearLayout) findViewById(R.id.restaurant_info_layout);
Button theView = new Button(RestaurantInfo.this);
layout.addView(theView);

完全相同的代码工作 - 如果将上述代码放在 onCreate 函数中,则将项目加载到 Activity 中(这会导致应用程序阻塞并变得无响应,直到服务器满足请求)。为什么将相同的代码放在 AsyncTask 的 onPostExecute 中时这不起作用?

最佳答案

当你完成加载你的数据时,你会调用 adapter.notifyDataSetChanged() 吗?这是通知 listView 它应该刷新所必需的,并且应该在 AsyncTask 的 postExecute 方法中完成。

关于android - 这段代码为什么不能在onCreate之后填充ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6607363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com