【问题标题】:How to show Toast in class which extends Activity [closed]如何在扩展 Activity 的类中显示 Toast [关闭]
【发布时间】:2016-04-24 16:01:29
【问题描述】:

我的 Android 项目中有一个 Java 类,我想将 Facebook 授权与电子邮件授权分开。因为这条线

 LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email", "public_profile"));

我不得不从 Activity 扩展我的 FBLogin 类。我做对了吗,还是应该以其他方式做?

但我的主要问题是 - 如何在这个 FBLogin 类中显示 Toast 消息?此行显示错误

Toast.makeText(getActivity(), "Success", Toast.LENGTH_SHORT).show();

【问题讨论】:

  • 如果 FBLogin 类扩展了 Activity 然后使用 FBLogin.this 而不是 getActivity()
  • 只需将 getActivity() 替换为 yourclas.this
  • 你能发布更多关于你调用 Toast.makeText(...) 的地方的代码吗? Toast 在 UI 线程中工作你确定你不是从另一个线程调用它吗?如果您发布错误的堆栈跟踪,也可能会很方便。

标签: java android facebook-graph-api android-activity android-toast


【解决方案1】:

对于正常活动:

Toast.makeText(FBLogin.this, "Success", Toast.LENGTH_SHORT).show();

扩展片段:

Toast.makeText(getActivity(), "Success", Toast.LENGTH_SHORT).show();

【讨论】:

    【解决方案2】:

    这样做

    Toast.makeText(YourClassName.this, "Success", Toast.LENGTH_SHORT).show(); 
    

    如果你的类名是 MainActivity 那么你必须这样做

    Toast.makeText(MainActivity .this, "Success", Toast.LENGTH_SHORT).show();
    

    或者你可以传递你的应用程序的上下文。

    Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
    

    【讨论】:

      【解决方案3】:

      尝试使用:

      Toast.makeText(fblogin.this, "Success", Toast.LENGTH_SHORT).show();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-14
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 2017-12-06
        • 1970-01-01
        • 2019-03-19
        相关资源
        最近更新 更多