gpt4 book ai didi

java - Android 无法解析 onPostExecute() 方法内的任何 AsyncTask 成员对象方法

转载 作者:行者123 更新时间:2023-12-01 10:14:45 25 4
gpt4 key购买 nike

我创建了一些 AsyncTask 类,但我将它们与 Activity 类分开创建。

onPostExecute(..) 的问题:

public class UserLoginTask extends AsyncTask<Void, Void, User> {

private Context mContext;
.....

@Override
protected void onPostExecute(final User registedUser) {
mAuthTask = null;
mloginHelper.showProgress(false,mLoginFormView,mProgressView);
if (registedUser == null) {
mloginHelper.registerUser(mEmail, mPassword);
} else if (registedUser.getPassword().equals(mPassword)) {
mContext.getApplicationContext().setLoggedUser(registedUser, mRememberMe);
mContext.finish();
} else {
mPasswordView.setError(mContext.getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
}
}
.....
}

所有与AsyncTask成员对象相关的方法都无法在其内部解析。

最佳答案

您必须将上下文对象类型转换为 COAApplication。

((COAApplication)mContext).getApplicationContext().setLoggedUser(registedUser, mRememberMe);

编辑

您将无法访问类外部的 Activity 变量。您可以通过不同的方式实现这一目标。您可以遵循界面方法。使用方法创建一个接口(interface),在您的 Activity 类中实现它,将 Activity 的引用传递给 asynctask。 onPostExecute(),调用接口(interface)方法即可。

这样您就可以向 Activity 发送回调,并且只能在 Activity 内部执行这些操作。

关于java - Android 无法解析 onPostExecute() 方法内的任何 AsyncTask 成员对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966060/

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