【发布时间】:2013-12-04 11:10:41
【问题描述】:
我有一个使用 Toast 的应用程序,我已经在使用 Android 4.3 的三星 Galaxy II 上对其进行了测试,它运行良好。
我最近得到了一个运行 Android 4.4 KitKat 的 Nexus 5,当我尝试加载 Toast 时它没有出现。
Toast 是否已被移除或 KitKat 中的语法已更改?
这是我用来制作和调用 Toast 的代码:
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item)
{
int itemId = item.getItemId();
switch (itemId) {
case R.id.action_settings:
Log.e("TOAST","This was called");
Toast.makeText(MainActivity.this, "This is my Toast message!",Toast.LENGTH_LONG).show();
break;
}
return true;
}
我已经调试了代码并逐行遍历了这部分,所以它肯定被调用了,但是没有任何反应。
【问题讨论】:
-
getBaseContext()是否作为第一个参数工作? -
关于
Context,或许this answer on other question 可以帮到你。 -
代码看起来不错(以
MainActivty中的错字为模)并且适用于我的 kitkat。调试器可能会骗你 - 添加例如登录到 switch-case 以确认 case 已被采纳。 -
哥们,看看这个:stackoverflow.com/questions/25507416/…也许你也一样。