gpt4 book ai didi

java - 我无法在 android 上的 asynctask 中获取我的值

转载 作者:行者123 更新时间:2023-12-02 05:55:38 27 4
gpt4 key购买 nike

String[] a = new String[2];
String[] b = new String[2];

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
new AsyncTaskClass().execute();
// in here when i use a it gets me a but i write a = b in method().
}

class AsyncTaskClass extends AsyncTask<String, String, String> {

@Override
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... strings) {
method();
return null;
}

@Override
protected void onPostExecute(String s) {
}
}

void method() {
a = b;
}

方法()正在工作,我在里面放了一个toastmessg,我看到了mssg,但它不起作用(a=b)顺便说一下 a 和 b 的定义。我们称之为 a={"a","b"}; b={"c","d"};当我使用 a[0] 代码时,我会得到“a”。为什么?这就是问题

最佳答案

doInBackground 正在后台线程中执行,因此一旦您调用 .execute(),执行将传递您的:

 //in here when i use a it gets me a but i write  a = b in method().

行,并且您的 doInBackground 肯定还不会执行(但可能会执行),如果它依赖于 doInBackground 结果,您应该将所有处理移至 onPostExecute。

关于java - 我无法在 android 上的 asynctask 中获取我的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23117598/

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