gpt4 book ai didi

java - 如何将数据从一个 Activity 传递到当前可见/Activity Activity ?这是一个很好的共同模式吗?

转载 作者:行者123 更新时间:2023-11-29 21:47:56 26 4
gpt4 key购买 nike

我想实现通用的 AsyncTasks 工厂,以免每次我想运行异步操作时都写很多重复的代码。但是我遇到了问题。

所以我想在 GlobalActivity 中定义这个工厂类,每个想要使用 AsyncTasks 工厂的 Activity 都应该子类化,但是我需要在每个从 GlobalActivity 继承的 Activity Activity 中使用 doInBackground 方法的结果。我的想法是在该类中定义一些方法 updateCurrentActivity() ,每个子类都必须覆盖该方法并对 doInBackground 结果进行一些操作(例如显示它)。但是我不知道如何处理这个结果。例如。这是工厂 onPostExecute 定义:

protected void onPostExecute(HashMap<String, Object> result)
{
currentActivityData = result;
//How to pass that result to the current Active
//activity which is overriding this method?
updateCurrentActivity();
}

创建这样的工厂是个好主意吗?或者最佳做法是每次我想使用 AsyncTask 时都编写 new AsyncTask...

最佳答案

您可以创建扩展 AsyncTask 的 MyTask 类,并从您要执行任务的 Activity 的构造函数中传递处理程序,例如

final Handler mHandler = new Handler() { 

public void handleMessage(Message msg)
{
//get your data here
int something = msg.arg1;
}
};

public void myMethodInsideActivity{
new MyTask(this, mHandler).execute();
}

并像这样从您的任务前、进度更新或发布中调用它

Message msg = new Message();
msg.arg1 = 1;
actHandler.sendMessage(msg);

这样你就只有一个任务类和多个实例,每个实例都通过处理程序与其 Activity 相关联

关于java - 如何将数据从一个 Activity 传递到当前可见/Activity Activity ?这是一个很好的共同模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com