1 android adapter android-asynctask
我正在尝试从AsyncTask更新ListView.我有这种情况:
如何从Utilities AsyncTask中的onPostExecute()方法调用notifyDataSetChanged?
Tim*_*m C 10
包含一个Delegate作为回调,以激活原始类中的刷新.
例如,添加此接口:
public interface AsyncDelegate {
public void asyncComplete(boolean success);
}
Run Code Online (Sandbox Code Playgroud)
然后,在您的调用类中,实现该接口,并将其传递给您的任务
public class MyClass implements AsyncDelegate {
// Class stuff
MyAsyncTask newTask = new MyAsyncTask(this);
newTask.execute();
public void asyncComplete(boolean success){
myAdapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
在AsyncTask中,返回结果:
private class MyAsyncTask extends AsyncTask<Object, Object, Object> {
private AsyncDelegate delegate;
public MyAsyncTask (AsyncDelegate delegate){
this.delegate = delegate;
}
@Override
protected void onPostExecute(String result) {
delegate.asyncComplete(true);
}
}
Run Code Online (Sandbox Code Playgroud)
任务完成后,它将调用委托,这将触发刷新!
| 归档时间: |
|
| 查看次数: |
8019 次 |
| 最近记录: |