如何将dialog中的button动态设置为disable

构造一个自定义的dialog,其中包括一个编辑栏(EditText)和两个按钮(确定和取消)

如果想要当EditText为空的时候让确定按钮为不可点击状态

private void createCustomDialog(Context dialogContext, final int position, String defaultNumber) {

final EditText editText = new EditText(dialogContext);

final AlertDialog.Builder builder = new AlertDialog.Builder(dialogContext);

builder.setView(editText);

builder.setTitle(R.string.fastdialer_add_number_title);

builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

//任何你想做的事情

});

builder.setNegativeButton(android.R.string.cancel, null);

Dialog dialog = builder.create();

dialog.show();//!!!!!!!!!!!!!!看这里,先把dialog show出来。

final Button positiveButton = ((AlertDialog)dialog).getButton(AlertDialog.BUTTON_POSITIVE);

//现在这个dialog的button不会再是空的了!!!!!!!!!!!

if(editText!=null && editText.getText().toString().equals(""))

positiveButton.setEnabled(false);

customType.addTextChangedListener(

new TextWatcher(){

@Override

public void afterTextChanged(Editable arg0) {

if(arg0.toString().equals("")){

positiveButton.setEnabled(false);

} else {

positiveButton.setEnabled(true);

}

}

public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { }

public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}

}

);

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容