我创建了一个警告对话框构建器,在对话框中显示一个表单,我的正面按钮名称是提交我希望按钮被禁用,除非表单中的所有字段都被填充.Below是我的代码可以任何人帮助我在周围工作这个。 感谢
alertDialogBuilder.setPositiveButton("SAVE", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
nameInput1 = data_txt1.getText().toString();
nameInput2 = data_txt2.getText().toString();
nameInput3 = data_txt3.getText().toString();
nameInput4 = data_txt4.getText().toString();
nameInput5 = data_txt5.getText().toString();
nameInput6 = auto_txt1.getText().toString();
nameInput7 = auto_txt2.getText().toString();
nameInput8 = auto_txt3.getText().toString();
nameInput9 = auto_txt4.getText().toString();
nameInput10 = auto_txt5.getText().toString();
nameInput11 = auto_txt6.getText().toString();
nameInput12 = auto_txt7.getText().toString();
nameInput13 = auto_txt8.getText().toString();
nameInput14 = auto_txt9.getText().toString();
nameInput15 = data_txt6.getText().toString();
nameInput16 = data_txt7.getText().toString();
Call<Void> completeQuestionnaireCall = spreadsheetWebService.completeQuestionnaire(nameInput1, nameInput2, nameInput3, nameInput4, nameInput5, nameInput6, nameInput7, nameInput8, nameInput9, nameInput10, nameInput11, nameInput12, nameInput13, nameInput14, nameInput15, nameInput16);
completeQuestionnaireCall.enqueue(callCallback);
dialog.dismiss();
}
}
});
alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alertDialogBuilder.show();
}
答案 0 :(得分:1)
您也可以这样做:
new AlertDialog.Builder(this)
.setMessage("This may take a while")
.setPositiveButton("OK", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((AlertDialog)dialog).getButton(which).setVisibility(View.INVISIBLE);
// the rest of your stuff
}
})
.show();
答案 1 :(得分:0)
试试这个
alertDialogBuilder.create()getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(假);
答案 2 :(得分:0)
对于正面按钮,使用可以这样做:
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
并且,对于否定按钮:
dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false);
答案 3 :(得分:0)
你可以这样做:
....your code for alert dialog
AlertDialog dialog = b.create(); // here b is reference of AlertDialog.Builder and in your case replace b with alertDialogBuilder
dialog.show();
Button button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
button.setEnabled(false);
希望这会有所帮助。
答案 4 :(得分:0)
如果我理解你的要求,
您可以使用TextWatcher ..
它是如何工作的:
添加textwatcher作为文本更改的监听器到您的输入字段,它将确保动态检查那些被填充的&#39;并且您可以关联按钮的可见性或相应地启用/禁用它
有助于提出的问题:
1. Disable button when edittext fields are empty
2. Use on text changed listener
答案 5 :(得分:0)
创建一个方法,该方法将检查Utils类中的所有输入,或者可以在当前类中使用它
public static boolean checkifEmptyText(String[] fields,Context context) {
for (String currentField : fields) {
if (currentField.getText().toString().trim().length() <= 0) {
return false;
}
}
return true;
}
现在就像这样检查
if(checkifEmptyText(new String[]{all your strings}),context)
{
Button button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
button.setEnabled(true);
}
else
{
Button button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
button.setEnabled(false);
}