AlertDialog的使用

一、AlertDialog创建简单列表项对话框核心代码如下:

final String items[] = getResources().getStringArray(R.array.books);
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("简单的列表项对话框").setIcon(R.mipmap.ic_launcher)
                        .setItems(items, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Toast.makeText(MainActivity.this, "选中了"+items[which], Toast.LENGTH_SHORT).show();
                            }
                        });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setNegativeButton("取消",null);
                AlertDialog dialog = builder.create();
                dialog.show();</span>

其中数组books为xml资源,定义在res/values/array.xml中,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="books">
        <item>基础英语</item>
        <item>工程数学</item>
        <item>高等计算机网络</item>
        <item>软件安全</item>
    </string-array>
</resources></span>
getResource().getStringArray(R.array.X)可以从xml数组文件中获得字符串数组


二、AlertDialog创建单选列表项对话框

将builder.setItems()改为builder.setSingleItems(items[],int(默认选中项的索引),listener);


三、AlertDialog创建多选列表项对话框

将上面例子中的builder.setItems()改为builder.setMultiChoiceItems(items[],new boolean[]{false,true,true}); //此为默认选中2、3项

自定义列表项对话框还可以使用builder.setAdapter(Adapter adapter,listener)来填充对话框中的内容


四、自定义View对话框

1.先建立layout文件,作为自定义View对话框的内容界面

2.使用View view = getLayoutInflater.inflate(R.layout.x,null) 获得你定义的界面

3.使用builder.setView(view)即可


注:对话框风格的窗口设置

在AndroidManifest.xml文件中对相应的Activity的主题设置成对话框风格的主题 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值