どのようにAlertDialogをクリックして確定しますか?キャンセルする時消えません。
3193 ワード
http://hi.baidu.com/doyee/item/5e27c1155df589dcbf904246
field.setAccess ible;field.set(dialog,true)//trueに設定すると、ダイアログを閉じることができます。クローズ禁止です。field.set(dialog,false) //falseに設定すると、ダイアログを閉じられません。
new AlertDialog.Builder(activity)
.setView(view)
.setCancelable(false)
.setTitle(" ")
.setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
EditText userName = (EditText) view.findViewById(R.id.editText);
EditText userpwd = (EditText) view.findViewById(R.id.editText1);
try {
if (userName == null || userName.getText().toString().trim().length() == 0) {
//
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false); // false,
dialog.dismiss();
ToastUtils.show(activity, " ......");
} else if (userpwd == null || userpwd.getText().toString().trim().length() == 0) {
//
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false); // false,
dialog.dismiss();
ToastUtils.show(activity, " ......");
} else {
//
ToastUtils.show(activity, " ......");
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);// true,
dialog.dismiss();
}
} catch (Exception e) {
}
}
})
.setNegativeButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
activity.finish();
}
}
)
.create()
.show();
閉じることができますfield.setAccess ible;field.set(dialog,true)//trueに設定すると、ダイアログを閉じることができます。クローズ禁止です。field.set(dialog,false) //falseに設定すると、ダイアログを閉じられません。