Android 为什么alert.getButton(AlertDialog.BUTTON_正数)返回NULL?
(很抱歉,发现此问题已得到回答,请参见下文) 因此,我首先要做的是,我可以对弹出窗口中需要的编辑文本进行一些处理,但现在,我正在MainActivity中使用普通的AlertDialog.Builder来创建我需要的内容 下面的代码创建了一个AlertDialog,并使用“setView”将我的自定义视图添加到其中。首次显示AlertDialog时,应禁用其正按钮,并且只有当所有EditText都有文本时,才应启用正按钮 因此,在使用builder.create()之后,我尝试通过获得肯定按钮来实现这一点 但是,alert.getButton(AlertDialog.BUTTON_正数)返回NULL。为什么?Android 为什么alert.getButton(AlertDialog.BUTTON_正数)返回NULL?,android,android-alertdialog,Android,Android Alertdialog,(很抱歉,发现此问题已得到回答,请参见下文) 因此,我首先要做的是,我可以对弹出窗口中需要的编辑文本进行一些处理,但现在,我正在MainActivity中使用普通的AlertDialog.Builder来创建我需要的内容 下面的代码创建了一个AlertDialog,并使用“setView”将我的自定义视图添加到其中。首次显示AlertDialog时,应禁用其正按钮,并且只有当所有EditText都有文本时,才应启用正按钮 因此,在使用builder.create()之后,我尝试通过获得肯定按钮来
final EditText ed1 = (EditText) findViewById(R.id.editTextPausArea);
final EditText ed2 = (EditText) findViewById(R.id.EditTextPausTimeFrom);
final EditText ed3 = (EditText) findViewById(R.id.EditTextPausTimeTo);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
.setTitle("Begär paus")
.setView(view)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}).setNegativeButton("Avbryt", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Do nothing.
}
});
final AlertDialog alert = builder.create();
final Button b = alert.getButton(AlertDialog.BUTTON_POSITIVE);
b.setEnabled(false); // NullPointerException here!
这可能会有帮助
.setPositiveButton("OK", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((AlertDialog)dialog).getButton(which).setVisibility(View.INVISIBLE);
}
})
我也有同样的问题。我的工作解决方案是调用:
alert.show()
在访问按钮之前对不起,我发现这是一个重复的按钮:它不是禁用按钮。它是在点击按钮后消失的。奇怪的行为。