我有一个扩展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/

10-08 22:17