Android AlertDialog 构造函数未定义

标签 android android-alertdialog

如果单击“检查帐户”时缺少帐户信息,我会尝试显示一个警告对话框。 我在 Eclipse 中收到一个错误,其中 new AlertDialog.Builder(this)constructor AlertDialog.Builder(new View OnClickListener(){}) is undefined。 如果我将代码添加到 Activity 的 onCreate 中,代码工作正常。

checkButton.setOnClickListener(new OnClickListener() {
        public void onClick(View Arg0){
            String AccNum = null, Store = null;
            final SharedPreferences settings = getSharedPreferences(CHECK_PREFERENCES, MODE_PRIVATE);

            if (settings.contains("Account") == true){
                AccNum = (settings.getString("Account", "default"));
                Store = (settings.getString("Store", "default"));
            }
            if (AccNum.length() < 7) { 
                AlertDialog alert = new AlertDialog.Builder(this).create();
                alert.setTitle("Account Information missing!");
                alert.setMessage("Enter now? ");

                alert.setButton("Yes", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            startActivity(new Intent(CheckOrder.this, GoToSetup.class));
                        }
                });
                alert.setButton2("No", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            return;
                        }
                });
                alert.show();   

            }
        }
});

最佳答案

错误发生是因为 this 是您正在创建的 OnClickListener(在调用 checkButton.setOnClickListener(new OnClickListener(){),而不是父 Activity。如果您的 Activity 类是 ParentActivity,请尝试以下操作:

AlertDialog alert = new AlertDialog.Builder(ParentActivity.this).create();

关于Android AlertDialog 构造函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6971004/

相关文章:

android - 尝试显示警报对话框时窗口泄漏

android - 在自定义警报对话框内的 TextView 中显示搜索栏的进度

android - 在 Android 上保存 foursquare oauth token

java - 在软键盘中点击下一个获得编辑文本焦点

java - android google登录后如何初始化firebase?

java - Android获取文本EditText到AlertDialog

java - 如何获取 Activity 的 View ?

java - 从字符串变量加载 Activity

android - 让 picasso 在行可见之前加载图像

Android:为什么onTouchListener() 会打开多个Alert Dialog?