【问题标题】:Toast doesn't works on real device but works fine on emulatorToast 不能在真实设备上运行,但在模拟器上运行良好
【发布时间】:2016-05-13 16:51:24
【问题描述】:

我不确定为什么会发生这种情况。我一直在做一些研究,但情况太模糊了,我什至很难寻找解决方案。

我使用 Android Studio 创建了一个应用程序,并且一直在虚拟模拟器上运行,其中 Toast 函数使用这两行简单的代码就可以正常工作 -

  Toast temp = Toast.makeText(MainActivity.this, "Username and password don't      match", Toast.LENGTH_SHORT);
    temp.show();

但是当我在手机上运行它时,应用程序不断崩溃。我有 Galaxy Grand Prime,甚至不确定它是否重要。

【问题讨论】:

  • 发布您的 logcat 详细信息,它会显示错误
  • 你是在主线程上调用这段代码吗?这两行没有提供足够的上下文,它们应该在正常情况下工作。

标签: java android toast


【解决方案1】:

如果您从 Activity 运行,请执行以下操作

Toast.makeText(getApplicationContext(), "Username and password don't      match", Toast.LENGTH_SHORT).show();

如果这是在一个片段中,不要忘记使用getActivity()

Toast.makeText(getActivity(), "Username and password don't      match", Toast.LENGTH_SHORT).show();

如果这是在非 UI 线程中完成的,则获取上下文并将其传递给 makeText 方法并使用 runOnUIThread 方法

Toast.makeText(context_of_caller, "Username and password don't      match", Toast.LENGTH_SHORT).show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多