我最近开发了一款姜饼应用程序。现在我想把它变成蜂窝状。 现在我的asynctask有问题。我想将信息(例如一个字符串)从asynktask类传递给活动,我从它开始。 对不起,这是我第一次使用asynctasks,所以我对它还不是很了解。
答案 0 :(得分:2)
是的,解决方法是让您的AsynkTask
成为Activity
的内部课程,如果将String
传递给Activity
,则表示您想要举例说明要将TextView
的文字设置为String
,您可以使用onPostExecute()
的{{1}}方法执行此操作。
因此,假设您的AsynkTask
方法执行某些处理并构造doInBackground()
而不是返回String
并将其传递给String
方法,该方法在onPostExecute()
并且可以修改您的UIThread
用户界面。
答案 1 :(得分:1)
使用AsyncTask作为内部类,并在外部类中声明一个调用AsyncTask.In asyncTask的字符串,指定在外部类中声明的字符串的值。
答案 2 :(得分:0)
Rasel建议可以是一个解决方案,您也可以简单地使用getter setter方法,其范围也是整个项目
public static String getStr() {
return str;
}
public static void setStr(String str) {
GlobalVariable.str = str;
}
像这样使用
GlobalVariable.setStr("this is test");
只需使用
获取其价值String s = GlobalVariable.getStr();
将返回上次更新的值。
答案 3 :(得分:0)
我认为Rasel的报价是不可接受的。因为Asynctask有不同的线程所以有时在Asynctask之后打印任何全局变量都可以在Asynctask之前完成。因此它有时会产生无效或不需要的结果。