直播商城源码,AlertDialog.Builder 设置点击不关闭弹框
可以通过手动设置mShowing的值可以通过手动设置mShowing的值。
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle("标题");
builder.setView(view);
builder.setIcon(R.mipmap.ic_applogorec); //设置图标
builder.setCancelable(false);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
if(true){
field.set(dialog, true);//true表示要关闭
} else{
field.set(dialog, false);//false不关闭
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
builder.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//一旦上面设置了不关闭DIALOG,点取消也不会关闭,所以需在取消事件下设置为可关闭
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);//true表示要关闭
} catch (Exception e){
e.printStackTrace();
}
dialog.cancel();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
以上就是 直播商城源码,AlertDialog.Builder 设置点击不关闭弹框,更多内容欢迎关注之后的文章