【问题标题】:Cannot be resolved to a type: Error无法解析为类型:错误
【发布时间】:2013-04-29 03:03:48
【问题描述】:

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

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

【问题讨论】:

  • 你的班级名称是什么?或者放全班的代码
  • 加上一部分traceback也很有帮助。
  • 什么课?这是显示 AlertDialog 的代码。我只是导入了这个: import android.app.AlertDialog;我不知道为什么我会得到它或如何解决它。谢谢

标签: android android-alertdialog


【解决方案1】:

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

要使其正常工作,如果this 属于活动类型,则可以将AlertDialog.Builder builder = new AlertDialog.Builder(ShowDialog.this); 替换为AlertDialog.Builder builder = new AlertDialog.Builder(this);,否则将AlertDialog.Builder builder = new AlertDialog.Builder(<your_activity_class_name>.this); 替换。

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

为了更好地理解更改:您遇到错误的constructor 接受Context 作为参数,因此需要提供this<your_activity_class_name>.this 作为您的活动的上下文'正在执行。

【讨论】:

  • 谢谢!我太傻了。在我的情况下,我必须将我的活动名称(例如 MainActivity)放在那里。这就是使用示例代码的问题:(我是这种类型的开发新手,这就是为什么。再次感谢!挽救了 mu 生命!
猜你喜欢
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 2015-11-13
  • 2014-03-19
相关资源
最近更新 更多