Android 對話框組件 AlertDialog 四種常用方法


本文原創首發CSDN,鏈接 https://blog.csdn.net/qq_41464123/article/details/106618845 ,作者博客https://blog.csdn.net/qq_41464123 ,轉載請帶上本段文字,尤其是腳本之家、碼神島等平台,謝謝配合。


目錄

一、什么是AlertDialog對話框 ?

二、如何使用?

1.顯示帶確定、取消按鈕的對話框

2. 顯示帶列表的對話框

3. 顯示帶單選列表項的對話框

4. 顯示帶多選列表項的對話框

三、總結


一、什么是AlertDialog對話框 ?

在Android中,AlertDialog可以為當前的界面上顯示一個對話框,而且產生的對話框是在所有界面元素上面的,能夠覆蓋掉其余組件,所以AlertDialog一般是用於提示一些非常重要的信息或者警告內容。

 

二、如何使用?

 

AlertDialog的功能十分強大,它不僅可以生成帶按鈕的提示對話框,還可以生成帶列表的列表對話框

對話框區域通常被分為四個區域,分別是圖標區、標題區、內容區、按鈕區域

 

1.顯示帶確定、取消按鈕的對話框

效果圖:

單擊按鈕后:

 對話框隱藏,提示單擊信息。

 

 實現方法,在XML文件中新建一個按鈕,在Java文件中添加單擊事件響應

button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
        alertDialog.setIcon(R.mipmap.advise);
        alertDialog.setTitle("標題");
        alertDialog.setMessage("具體文本");

        alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "否", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "您單擊了否按鈕", Toast.LENGTH_SHORT).show();
            }
        });

        alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "是", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "您單擊了是按鈕 ", Toast.LENGTH_SHORT).show();
            }
        });
        alertDialog.show();
    }
});

 


2. 顯示帶列表的對話框

效果展示:

單擊按鈕后:

對話框隱藏,提示單擊信息。

button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        final String[] items = new String[]{"選項1", "選項2", "選項3","選項4"};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.advise1);
        builder.setTitle("請選擇選項:");

        builder.setItems(items, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,
                        "您選擇了" + items[which], Toast.LENGTH_SHORT).show();
            }
        });
        builder.create().show();
    }
});

 


3. 顯示帶單選列表項的對話框

效果展示:

單擊后:

 Java邏輯代碼部分:

button3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        final String[] items = new String[]{"扎克伯格", "喬布斯", "拉里.埃里森", "安迪.魯賓", "馬雲"};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.advise2);
        builder.setTitle("如果讓你選擇,你最想做哪一個:");
        builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,
                        "您選擇了" + items[which], Toast.LENGTH_SHORT).show();
            }
        });
        builder.setPositiveButton("確定", null);
        builder.create().show();
    }
});

本文原創首發CSDN,鏈接 https://blog.csdn.net/qq_41464123/article/details/106618845 ,作者博客https://blog.csdn.net/qq_41464123 ,轉載請帶上本段文字,尤其是腳本之家、碼神島等平台,謝謝配合。


4. 顯示帶多選列表項的對話框

效果展示:

單擊后:

 點擊確定后,顯示:

 Java邏輯代碼:

button4.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        checkedItems = new boolean[]{false, true, false, true, false};
        //各列表項要顯示的內容
        items = new String[]{"開心消消樂", "球球大作戰", "歡樂斗地主", "夢幻西游", "超級瑪麗"};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.mipmap.advise2);
        builder.setTitle("請選擇您喜愛的游戲:");
        builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                checkedItems[which] = isChecked;

            }
        });

        builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String result = "";
                for (int i = 0; i < checkedItems.length; i++) {
                    if (checkedItems[i]) {
                        result += items[i] + "、";
                    }
                }
                if (!"".equals(result)) {
                    result = result.substring(0, result.length() - 1);
                    Toast.makeText(MainActivity.this,
                            "您選擇了[ " + result + " ]", Toast.LENGTH_LONG).show();
                }
            }
        });
        builder.create().show();
    }
});

 


三、總結

 

在Android中,如果需要使用 對話框 組件,來實現一定的功能,就需要用到 AlertDialog

本文主要總結了 AlertDialog 的四種常用方法,以便后續不時之需。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM