【发布时间】:2019-01-16 08:35:09
【问题描述】:
我正在开发我的第一个 Android 应用程序,我正在尝试创建一个 toast 并指定我希望它出现的位置。当我使用现在注释的代码时(它没有自定义 toast 的位置),应用程序在模拟器上完美运行,但现在我尝试自定义位置并使用 cmets 下面的代码,应用程序停止运行当我在 UI 中单击用于显示吐司的按钮时。
您知道为什么会这样吗?因为我已经看到非常相似的代码(几乎相同)呈现为正确的,所以这应该可以工作。我知道这是一个非常简单的代码和一个简单的问题,但我仍然无法弄清楚我的代码有什么问题。
这是我onButtonClick上的代码:
public void onClick(View V) {
// Toast.makeText(QuizActivity.this,
// R.string.correct_toast,
// Toast.LENGTH_SHORT).show();
Toast t = new Toast(QuizActivity.this);
t.setText(R.string.correct_toast);
t.setDuration(Toast.LENGTH_SHORT);
t.setGravity(Gravity.TOP|Gravity.LEFT,0,0);
t.show();
}
【问题讨论】:
-
您的应用程序的目标 API 是什么?你为什么不使用 Snackbar,因为 Toast 现在有点淘汰了。 Snackbar 用于适应材料设计
-
@RahulMishra 如果他使用最新的 android api 会导致不同的问题,这不是重复的
-
"当我在 UI 中单击时应用程序停止运行" 请发布堆栈跟踪
-
@JohnJoe 我刚刚运行了应用程序,我马上就有了两个按钮。然后,当我单击其中的第一个(仍然使用类似于 cmets 上的代码)时,它会显示一个祝酒词,这正是我所期待的。但是,当我单击另一个按钮(其中包含我修改以使 toast 出现在不同位置的代码)时,应用程序停止运行。
标签: android android-studio android-toast