我有一个扩展asynctask的类。在这个类中,我有一个返回哈希映射的方法。如何在扩展活动的不同类中获取此哈希映射。
有人给我一些参考码吗?
最佳答案
可以在活动中创建侦听器,然后将此侦听器传递到异步任务中。异步任务完成后,可以调用侦听器来设置哈希映射。因此,在异步任务中创建侦听器:
public static interface MyListener {
void setHashmap(Hashmap myHashmap);
}
另外,还有一个函数可以设置侦听器:
public void setListener(MyListener listener) {
this.listener = listener;
}
然后在onPostExecute中调用侦听器上的函数
listener.setHashmap(myHashmap);
在活动中实现此侦听器:
public class MyActivity extends Activity implements MyListener { ...
public void setHashmap(Hashmap hashmap) {
// do stuff here
this.hash = hashmap
}
最后设置侦听器并启动异步任务:
AsyncTask task = new MyAsyncTask();
task.setListener(this);
task.execute();
当然,您也可以将asynctask放在活动中,然后在onpostexecute中设置hashmap。
关于android - 异步任务数据提取器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9430042/