我正在尝试使用以下代码在我的应用程序中显示Toast消息。
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Do you want to continue?");
alert.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
try{
//This code generates an Activity Not Found exception
}
catch(ActivityNotFoundException e) {
System.out.println("Activity Not Found Exception Raised");
Toast.makeText(getBaseContext(), "Activity Not Found", Toast.LENGTH_LONG).show(); // For the context I tried using getBaseContext, ActivityName.this also
}
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
但此消息仅在少数设备上显示。我已经在安装了Android 4.2.2版的HTC One X上测试了这段代码。
如果我在使用Android 4.2.2的Micromax A63上测试相同的代码,但它没有在它上面工作。
我已经通过互联网搜索了这类错误,并且他们主要是在设置菜单中告知应用通知禁用选项。但我的应用程序通知未被禁用。
修改
我在AlertDialog
有人可以帮我解决这个问题。
答案 0 :(得分:14)
如果您还没有想到这一点,请确保您没有针对相关应用程序停用通知;这也禁用了祝酒词。
答案 1 :(得分:4)
如果您在活动中使用它,请使用:
Toast.makeText(ActivityName.this, "My Toast Message", Toast.LENGTH_SHORT).show();
如果 您正在将它用于片段:
Toast.makeText(getActivity, "My Toast Message", Toast.LENGTH_SHORT).show();
适配器中的OR
Toast.makeText(context, "My Toast Message", Toast.LENGTH_SHORT).show();
注意:在适配器中,上下文表示您在适配器中声明的上下文。
答案 2 :(得分:2)
试试这个
Toast.makeText(getBaseContext(), "My Toast Message", Toast.LENGTH_SHORT).show();
OR
Toast.makeText(PreferenceActivity.this, "My Toast Message", Toast.LENGTH_SHORT).show(); `
了解更多详情。查看THIS
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Do you want to continue?");
alert.setPositiveButton("Continue", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
try{
//This code generates an Activity Not Found exception
}
catch(ActivityNotFoundException e) {
System.out.println("Activity Not Found Exception Raised");
ShowToast();
}
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
}
public void ShowToast()
{
Toast.makeText(getBaseContext(), "Activity Not Found", Toast.LENGTH_LONG).show(); // For the context I tried using getBaseContext, ActivityName.this also
}
答案 3 :(得分:0)
上下文上下文;
1.然后在OnCreate()
context=this; (Use in Activity)
context=this.getActivity(); (Use in Fragment)
然后使用
Toast.makeText(context, "My Toast Message", Toast.LENGTH_LONG).show();
答案 4 :(得分:0)
尝试使用getApplicationContext()
代替getBaseContext
。