gpt4 book ai didi

android - 从静态方法调用 finish()

转载 作者:可可西里 更新时间:2023-11-01 19:10:13 29 4
gpt4 key购买 nike

我正在使用 Facebook Android SDK,并希望在用户登录并获取用户对象后关闭我的 Activity。实际上,我存储了它的一部分,但无论如何我都想关闭该 Activity 。

      // make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {

// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
finish(); // causes errors
}
}
});

finish() 上的 IDE 错误消息是:“无法从类型 Activity 对非静态方法 finish() 进行静态引用”

如何进行?

最佳答案

在 onCreate 中创建对您的 Activity 的引用

//onCreate
final Activity activity = this;

然后您可以在 onCompleted 回调中使用它

activity.finish();

您可能必须将 Activity activity 设为全局。

2014 年 2 月 26 日编辑:

请注意,从静态方法调用 finish() 可能是不好的做法。你告诉一个 Activity 的特定实例,它有自己的生命周期,它应该从静态方法中自行关闭,没有任何生命周期或状态。理想情况下,您将从绑定(bind)到 Activity 的对象调用 finish()

关于android - 从静态方法调用 finish(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402844/

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