在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]

Posted

技术标签:

【中文标题】在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]【英文标题】:In fragment java class getting an error when using "this" with getLastSignedInAccount [duplicate] 【发布时间】: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());
   

【问题讨论】:

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

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

GoogleSignIn.getLastSignedInAccount(getActivity());

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

【讨论】:

【参考方案2】:

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

【讨论】:

即使您的答案是正确的,它也不会教 OP(或任何人)为什么他们必须更改它,请考虑将其添加到您的答案中

以上是关于在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java 中 super和this的异同

在 recyclerview 适配器类中显示自定义弹出窗口 - Android Java

Java面向对象(OOP)--this关键字详解

JAVA继承时this和super关键字

片段类中的 View.findViewById

this和super用法的区别与细节(java继承中this和super的比较)(简洁而精炼)