Kri*_*s B 5 android android-ui android-asynctask asynctaskloader
我已将我转换AsyncTask为AsyncTaskLoader(主要用于处理配置更改).我有TextView我使用的进展状况,并使用onProgressUpdate在AsyncTask更新它.它看起来不像AsyncTaskLoader是等价的,所以在loadInBackground(AsyncTaskLoader我)使用它时:
getActivity().runOnUiThread(new Runnable() {
public void run() {
((TextView)getActivity().findViewById(R.id.status)).setText("Updating...");
}
});
Run Code Online (Sandbox Code Playgroud)
我正在使用它Fragment,这就是我使用的原因getActivity().这项工作非常顺利,除非发生配置更改,例如更改屏幕方向.我AsyncTaskLoader一直在跑(这就是为什么我正在使用AsyncTaskLoader),但runOnUiThread似乎被跳过了.
不知道为什么会被跳过,或者这是从更新UI的最佳方式 AsyncTaskLoader.
更新:
我最终恢复了一个,AsyncTask因为它似乎更适合UI更新.希望他们能将合并的东西合并到AsyncTask一起AsyncTaskLoader.
这实际上是可能的。您本质上需要子类化AsyncTaskloader并实现一个publishMessage()方法,该方法将使用 aHandler将进度消息传递给实现该接口ProgressListener(或任何您想要调用的接口)的任何类。
下载此示例:http://www.2shared.com/file/VW68yhZ1/SampleTaskProgressDialogFragme.html(如果离线,请给我发消息)-这是基于http://habrahabr.ru/post/131560/
| 归档时间: |
|
| 查看次数: |
5867 次 |
| 最近记录: |