gpt4 book ai didi

java - 如何从静态方法销毁 Activity?

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

我的 Activity LoginActivity中有一个子类checkLoginTask(此 Activity 用于用户登录)。该子类是从扩展 AsynTask 的类的 onPostExecute() 中调用的。

如果 theLoginOk == "ok",我想销毁 Activity LoginActivty 并启动 Activity MainActivity。我使用了 finish() 但出现错误无法从静态上下文引用非静态方法“finish()”

我尝试使用 final Activity Activity = this; 但不起作用。

这是我的 Avtivity LoingPage 上的方法

public static void checkLoginTrue(JSONObject jsonObject, Context context){
if(jsonObject != null) {
Intent intent = new Intent(context, MainActivity.class);

try {
JSONObject student = jsonObject.getJSONObject("status");
String theId = student.getString("id");
String theLoginOk = student.getString("login");

Log.i("JSON login", theLoginOk);

if (theLoginOk.equals("ok")) {
intent.putExtra("id", theId);
intent.putExtra("login", theLoginOk);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} else {
// something
}

} catch (JSONException e) {
Log.w("error", e.getMessage());
}
}
}

我该如何解决这个问题?

最佳答案

这里不需要静态方法。如果您想练习在 Activity 类中调用静态方法,请创建 onr Util 类,在其中创建静态方法并从 Activity 重写方法中调用。喜欢

public class Utill
{

public static void checkLoginTrue(JSONObject jsonObject, Context context, Class<? extends Activity> myClass){
if(jsonObject != null) {
Intent intent = new Intent(context, myClass);

try {
JSONObject student = jsonObject.getJSONObject("status");
String theId = student.getString("id");
String theLoginOk = student.getString("login");

Log.i("JSON login", theLoginOk);

if (theLoginOk.equals("ok")) {
intent.putExtra("id", theId);
intent.putExtra("login", theLoginOk);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} else {
// something
}

} catch (JSONException e) {
Log.w("error", e.getMessage());
}
}
}
}

然后调用

 Utils.checkLoginTrue(jsonObject, this, MainActivity.class);

在您的 Activity 中任何覆盖非静态和/或静态方法。

关于java - 如何从静态方法销毁 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27872463/

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