// 让用户输入手机号码
final EditText inputServer = new EditText(mContext);
new AlertDialog.Builder(mContext).setTitle("请输入手机号码").setIcon(android.R.drawable.ic_dialog_info).setView(inputServer)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Field field = null;
try {
// 通过反射获取dialog中的私有属性mShowing
field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);// 设置该属性可以访问
if (null != inputServer.getText().toString() && !inputServer.getText().toString().equals("")) {
// 可以关闭
field.set(dialog, true);
dialog.dismiss();
} else {
// 输入框中内容为空,dialog不关闭
field.set(dialog, false);
// 提示用户输入登录信息
Toast.makeText(mContext, "请输入电话号码", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
}
}
}).show();
有时候不想关闭 AlertDialog,这是用Field。