【问题标题】:In fragment java class getting an error when using "this" with getLastSignedInAccount [duplicate]在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]
【发布时间】:2020-12-12 17:44:21
【问题描述】:

在我的片段 java 类中,“this”语句中的 getLastSignedInAccount 出现错误,以下是代码:

GoogleSignedInAccount signInAccount = GoogleSignIn.getLastSignedInAccount(this); 
 if(signInAccount != null){
    name.setText(signInAccount.getDisplayName()); 
    mail.setText(signInAccount.getEmail());
   }

【问题讨论】:

  • 欢迎来到stackoverflow。请通过此链接一次。 stackoverflow.com/help/how-to-ask
  • 方法定义为 #getLastSignedInAccount(Context context) 。你已经通过了 context 。在片段中,您可以使用getContext() 来使用上下文。

标签: android google-signin


【解决方案1】:

片段是实现部分活动的可重用类。片段通常定义用户界面的一部分。片段必须嵌入到活动中;它们不能独立于活动运行。所以我的意思是你不能从嵌入式片段中获取访问主活动,所以有一个类似这样的代码而不是(这个):

GoogleSignIn.getLastSignedInAccount(getActivity());

片段不继承 Context 类。因此,您必须使用 getActivity() 方法来获取父活动。

【讨论】:

    【解决方案2】:

    在片段中你需要使用 getContext() 而不是这个

    【讨论】:

    • 即使您的答案是正确的,它也不会教 OP(或任何人)为什么他们必须更改它,请考虑将其添加到您的答案中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多