gpt4 book ai didi

java - Android - 将 View 从 Activity 传递到 AsyncTask 类

转载 作者:太空狗 更新时间:2023-10-29 16:04:12 24 4
gpt4 key购买 nike

MainActivity.java:

private class NetCheck extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... args) {
return cd.isConnectingToInternet();
}

protected void onPostExecute(Boolean th) {
if (th == true) {
new RemoteLoader(MainActivity.this).execute();
}
}
}

RemoteLoader.java:

public class RemoteLoader extends AsyncTask<Void, Void, Void>{
private View view;

public RemoteLoader(View context){
this.view = view;
}

@Override
protected Void doInBackground(Void... Pages) {
// do in bg
}

@Override
protected void onPostExecute(Void result) {
// Set title into TextView
TextView txttitle = (TextView) view.findViewById(R.id.txtProtip);
txttitle.setText(protip);
}

}

我正在尝试从 MainActivity 执行 RemoteLoader 类。但是在 RemoteLoader 中包含一些需要膨胀 Main 布局的东西。

在这种情况下,如何将布局从 MainActivity 传递到 RemoteLoader?

最佳答案

问题在于,例如,加载过程中方向发生变化, Activity 将重新创建, View 将不再有效。您冒着泄露 Activity 的风险。此外,您尝试写入的 View 将不再是可见的。

查看 Robospice 文档以了解基本问题: https://github.com/octo-online/robospice/wiki/Understand-the-basics-of-RoboSpice-in-30-seconds这是 Android 中比较棘手的部分之一。

关于java - Android - 将 View 从 Activity 传递到 AsyncTask 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20795953/

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