我使用alertDialog v7来创建自定义对话框。 在我的自定义视图中,我有editText和inputType" phone | numberPassword"。 但在这种情况下,当我尝试键入一些文本时 - 它不起作用,意味着editText不会显示任何更改,任何新符号......
这是我对alertDialog的自定义视图:
<LinearLayout
android:id="@+id/ll_login_regLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="visible"
android:paddingRight="@dimen/dialog_padding"
android:paddingLeft="@dimen/dialog_padding"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<EditText
android:id="@+id/et_p1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone|numberPassword"
/>
</LinearLayout>
这里是片段内部代码的示例:
private void showSetPassDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View dialogView = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_register_pass, null);
builder.setView(dialogView);
builder.setPositiveButton(getString(R.string.text_dialogpsw_btn_ok_password),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (!chb.isChecked()) {
String mess = getString(R.string.error_check_dogovor);
SU_Tools.showToast(getActivity(), mess);
showSetPassDialog();
} else {
mMainLayout.setVisibility(View.VISIBLE);
}
}
});
builder.show();
}
答案 0 :(得分:0)
您需要分解设置对话框的方式。试试这个:
AlertDialog alert = new AlertDialog.Builder(this)
.setView(dialogView)
.setPositiveButton(getString(R.string.text_dialogpsw_btn_ok_password), null)
.create();
alert.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onSow(DialogInterface dialogInterface) {
final Button button = alert.getButton(AlertDialog.BUTTON_POSITIVE);
button.setOnClickListener(your code here);
}
});
alert.show();