0

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

任何想法为什么我会收到这个烦人的错误?我试图刷新我的代码并清理它,但仍然没有运气。谢谢

4

1 回答 1

0

ShowDialog很可能是您从中获得AlertDialog示例的类名。

要使其工作,您可以替换AlertDialog.Builder builder = new AlertDialog.Builder(ShowDialog.this);AlertDialog.Builder builder = new AlertDialog.Builder(this);ifthis是 Activity 类型或AlertDialog.Builder builder = new AlertDialog.Builder(<your_activity_class_name>.this);其他类型。

请注意,如果您尝试在事件处理程序中(通常在匿名类中)显示对话框,则必须选择第二个选项AlertDialog.Builder builder = new AlertDialog.Builder(<your_activity_class_name>.this);.

为了更好地理解这些变化:你得到错误的构造函数Context接受一个作为参数,因此需要提供一个this<your_activity_class_name>.this它作为你正在执行的 Activity 的上下文。

于 2013-04-29T03:39:07.477 回答