Toast不能在真实设备上运行,但在仿真器上运行正常

时间:2016-05-13 16:51:25

标签: java android toast

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

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

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

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

1 个答案:

答案 0 :(得分:1)

如果您从某个活动运行,请执行以下操作

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();