/**
* Android中的弹出框在被点击时, 无论点击哪个按钮都会关闭窗口。
* 但是有的情况下我们不需要立即关闭窗口。下面的情况是弹出框中要求用户输入文件名,
* 并在点击确定时检查文件名的合法性, 不合法则提示用户重新输入, 弹出框要保持在界面上
* 使用反射
*/
DialogInterface.OnClickListener dialogListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
try {
//不关闭
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (Exception e) {
e.printStackTrace();
}
if(inputCheck()){
//关闭对话框
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (Exception e) {
e.printStackTrace();
}
dialog.dismiss();
}
break;
case DialogInterface.BUTTON_NEGATIVE:
dialog.dismiss();
break;
default:
break;
}
}
};
本文详细介绍了如何在Android应用中创建一个弹出框,用于用户输入文件名,并通过反射技术实现检查文件名合法性后决定是否关闭对话框的功能。
1166

被折叠的 条评论
为什么被折叠?



