如何从AsyncTask Android获取String

时间:2011-08-17 09:23:14

标签: android android-asynctask android-3.0-honeycomb

我最近开发了一款姜饼应用程序。现在我想把它变成蜂窝状。 现在我的asynctask有问题。我想将信息(例如一个字符串)从asynktask类传递给活动,我从它开始。 对不起,这是我第一次使用asynctasks,所以我对它还不是很了解。

4 个答案:

答案 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之前完成。因此它有时会产生无效或不需要的结果。