我已将我的
我正在使用一个
不确定为什么会被跳过,或者是否这是从
更新:
最终我回到了
AsyncTask
转换为AsyncTaskLoader
(主要是为了处理配置更改)。我有一个作为进度状态的TextView
,并且在AsyncTask
中使用onProgressUpdate
来更新它。看起来AsyncTaskLoader
没有相应的方法,因此在AsyncTaskLoader
的loadInBackground
中,我正在使用以下内容:getActivity().runOnUiThread(new Runnable() {
public void run() {
((TextView)getActivity().findViewById(R.id.status)).setText("Updating...");
}
});
我正在使用一个
Fragment
,这就是为什么我在使用getActivity()
。这很有效,除了当发生配置更改(如更改屏幕方向)时。我的AsyncTaskLoader
仍在运行(这就是为什么我在使用AsyncTaskLoader
),但runOnUiThread
似乎被跳过了。不确定为什么会被跳过,或者是否这是从
AsyncTaskLoader
更新UI的最佳方式。更新:
最终我回到了
AsyncTask
,因为它似乎更适合于UI更新。希望能够将与AsyncTask
相似的工作与AsyncTaskLoader
结合起来。