点击确认按钮后不关闭diaog,必须手动设置关闭dialog
程序员文章站
2022-03-21 18:40:38
因dialog点击其按钮之后,都会关闭dialog需要,有时我们需求需要满足某种条件之后才能关闭,就可以用如下写法实现:Step 1 :activity_main.xml布局如下:
因dialog点击其按钮之后,都会关闭dialog需要,有时我们需求需要满足某种条件之后才能关闭,就可以用如下写法实现:
Step 1 :activity_main.xml布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试"/>
</LinearLayout>
Step 2:MainActivity代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bt=findViewById(R.id.test);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog alertDialog=new AlertDialog.Builder(MainActivity.this)
.setTitle("点击确认按钮(PositiveButton)不会关闭dialog,必须设置用dismiss()关闭")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("确认",null)//把第二个参数设置为null
.create();
alertDialog.show();//必须show后才能alertDialog.getButton
//获取点击确认按钮并监听
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!(2>3)){//不符合要求,不会关闭dialog
return;
}
alertDialog.dismiss();
}
});
}
});
}
}
本文地址:https://blog.csdn.net/weixin_44619313/article/details/107863707
上一篇: matplotlib简单示例
下一篇: python 列表去重保持顺序