无法解析为类型:错误

时间:2013-04-29 03:03:48

标签: android alertdialog

我收到此错误: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();

为什么我会收到这个恼人的错误?我试图刷新我的代码并清理它仍然没有运气。感谢

1 个答案:

答案 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}}作为您正在执行的活动的上下文。