更新时间:2023-01-23 19:52:46
您尝试过
Dialog dialog = builder.create();
和 afterTextChanged()
;
(AlertDialog)dialog.getButton(AlertDialog.BUTTON_POSITIVE).setText(yourString);
?
public class MenuFragment extends DialogFragment {
private static final String VALID = "OK";
private static final String INVALID = "Not OK";
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
final View layout = getActivity().getLayoutInflater().inflate(R.layout.dialog, null);
final EditText et1 = (EditText) layout.findViewById(R.id.et1);
final EditText et2 = (EditText) layout.findViewById(R.id.et2);
builder.setView(layout)
.setTitle(R.string.hello_world)
.setMessage(R.string.hello_world)
.setPositiveButton(INVALID, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Send the positive button event back to the host activity
String strPassword1 = et1.getText().toString();
String strPassword2 = et2.getText().toString();
if (strPassword1.equals(strPassword2)) {
dialog.dismiss();
} else{
dialog.dismiss();
}
}
});
final AlertDialog dialog = builder.create();
TextWatcher watcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
String strPass1 = et1.getText().toString();
String strPass2 = et2.getText().toString();
if (strPass1.equals(strPass2)) {
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setText(VALID);
} else {
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setText(INVALID);
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
};
et1.addTextChangedListener(watcher);
et2.addTextChangedListener(watcher);
return dialog;
}
}