安卓中自带的弹窗还是很有意思的,不过今天遇到了无法显示的问题,最后发现是自己的疏忽没有调用.show()方法。

记录一下调用安卓自带弹窗 AlertDialog 的写法

布局

首先写一个线性布局,里面加一个按钮

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >


    <Button
        android:id="@+id/uninstall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/uninstall" />    //文本是:卸载


</LinearLayout>

思路是点击这个卸载按钮,然后弹窗提示是否卸载。

代码

首先贴出全部代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button uns = findViewById(R.id.uninstall);
        OnClick onClick = new OnClick();
        uns.setOnClickListener(onClick);//给按钮uninstall创建一个点击事件
    }
    class OnClick implements View.OnClickListener{
        public void onClick(View v){
            if (v.getId()== R.id.uninstall){
                AlertDialog.Builder builder =new AlertDialog.Builder(MainActivity.this);// 这里面要写清楚在哪个activity弹窗
                builder.setTitle("您好,请确认!").setMessage("真的要卸载嘛???");
                builder.setPositiveButton("残忍卸载", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "卸载是可能的,这辈子都不可能!", Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setNegativeButton("不,点错了", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "很识时务哦~", Toast.LENGTH_SHORT).show();
                    }
                });
                AlertDialog alert = builder.create();//完成对话框对象构建
                alert.show();// 展示对话框
            }
        }
    }
}

基本使用流程

参考:https://www.runoob.com/w3cnote/android-tutorial-alertdialog.html

Step 1:创建AlertDialog.Builder对象;
Step 2:调用setIcon()设置图标,setTitle()或setCustomTitle()设置标题;
Step 3:设置对话框的内容:setMessage()还有其他方法来指定显示的内容;
Step 4:调用setPositive/Negative/NeutralButton()设置:确定,取消,中立按钮;
Step 5:调用create()方法创建这个对象,再调用show()方法将对话框显示出来;

关于这个.show()方法的使用,可以直接在设备标题后面调用:

builder.setTitle("您好,请确认!").show();
builder.setMessage("真的要卸载嘛???").show();
···

也可以在后面直接批量调用:

builder.setTitle("您好,请确认!").setMessage("真的要卸载嘛???");
...
AlertDialog alert = builder.create();
alert.show();

成果图

cg

版权声明
本文作者珂泽
文章来源风也雨忆笙
原文链接
转载说明非特殊说明文章均为原创,页脚已标识是否允许转载,转载请注明出处!感谢您的支持!
最后修改:2020 年 10 月 04 日 09 : 12 PM
如果您觉得我的文章有帮助,请随意赞赏!