use*_*335 13 android android-asynctask
这是我的情况:
在我onCreate(),我想创建一个AsyncTask检索服务器的数据并将其存储在一个ArrayList.
然后在我的onCreateView(),我想把数据放在一个ListView,设置onItemClickListener等等...
问题是我AsyncTask在UI线程之间创建了一场竞赛.如果在完成检索onCreateView()之前调用AsyncTask,那么我没有正确设置适配器,不设置onItemClickListener等等...
我想要一些方法来确保我AsyncTask在启动onCreateView()函数之前等待完成执行.这可能吗?我读到了get()关于在任务中使用的内容,但我在执行它时遇到了一些麻烦.它似乎没有做任何事情.
究其原因,我想以检索数据onCreate()和设置的适配器onCreateView()(而不是设置适配器onPostExecute()的AsyncTask),是我想一旦检索数据,并能够只需要创建一个视图,如果用户旋转屏幕或导航回那个Fragment.
suj*_*ith 10
这是一个更好的方法.初始化ListView并开始AsyncTask进入onCreate().一旦从服务器获得数据,就可以将其添加到为适配器提供的同一个数组中并调用notifyDatasetChanged()适配器,该数组负责填充列表视图.在这里您也可以使用ListFragment,setEmptyText()如果您的列表为空,您可以调用它来添加显示的文本.
| 归档时间: |
|
| 查看次数: |
7618 次 |
| 最近记录: |