我收到此错误:ShowDialog无法解析为类型
这是我的代码:
final CharSequence[] items = {"Low", "Medium", "High"};
AlertDialog.Builder builder = new AlertDialog.Builder(ShowDialog.this);
builder.setTitle("Alert Dialog with ListView");
builder.setIcon(R.drawable.image1);
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
AlertDialog alert = builder.create();
alert.show();
为什么我会收到这个恼人的错误?我试图刷新我的代码并清理它仍然没有运气。感谢
答案 0 :(得分:0)
ShowDialog
很可能是您获得AlertDialog
示例的类名。
要使其有效,如果AlertDialog.Builder builder = new AlertDialog.Builder(ShowDialog.this);
属于活动类型,则可以将AlertDialog.Builder builder = new AlertDialog.Builder(this);
替换为this
,否则将AlertDialog.Builder builder = new AlertDialog.Builder(<your_activity_class_name>.this);
替换为AlertDialog.Builder builder = new AlertDialog.Builder(<your_activity_class_name>.this);
。
请注意,如果您尝试在事件处理程序中显示对话框(通常在匿名类中),则必须使用第二个选项Context
。
要更好地了解更改:您收到错误的constructor是接受this
作为参数,因此需要提供<your_activity_class_name>.this
或{{1}}作为您正在执行的活动的上下文。