Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中AlertDialog的使用

Android中AlertDialog的使用

編輯:關於Android編程

AlertDialog的簡單使用

  AlertDialog的使用是依賴於Activity的。它不同於Toast,Toast是不依賴於Activity的,Toast只起到一種提示作用,並無法進行交互。而AlertDialog是可以進行交互的,不僅可以起到提示作用,還可以用來進行選擇等,下面我們來看看它的用法。
  
  我們通過一個按鍵的點擊來觸發AlertDialog:

        //首先創建一個AlertDialog.Builder的對象。
        AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
        //設置圖片
        builder.setIcon(R.mipmap.ic_launcher);
        //設置題目
        builder.setTitle(Title);
        //設置內容
        builder.setMessage(This is a Dialog!);
        //設置按鍵NegativeButton(在最左邊)
        builder.setNegativeButton(Cancle, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(getApplicationContext(), NegativeButton, Toast.LENGTH_SHORT).show();
            }
        });
        //設置按鍵NeutralButton(在中間)
        builder.setNeutralButton(Neutral, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(getApplicationContext(), NeutralButton, Toast.LENGTH_SHORT).show();
            }
        });
        //設置按鍵PositiveButton(在最右邊)
        builder.setPositiveButton(OK, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(getApplicationContext(), PositiveButton, Toast.LENGTH_SHORT).show();
            }
        });
        //創建AlertDialog 對象。
        AlertDialog dialog =builder.create();
        //調用show()方法顯示。
        dialog.show();

這裡寫圖片描述

選擇型的AlertDialog

  
  通過彈出AlertDialog,在AlertDialog中選擇想要的內容,點擊後直接退出AlertDialog。

        //首先創建一個AlertDialog.Builder的對象。
        AlertDialog.Builder builder =new AlertDialog.Builder(DialogActivity.this);
        //設置題目
        builder.setTitle(Title);
        //設置選擇的內容:第一個參數是數據, 第二個參數是點擊事件。
        builder.setItems(mData, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(getApplicationContext(), 點擊第 + (i + 1) + 數據, Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog dialog =builder.create();
        dialog.show();

數據設置為:

private String[] mData={This is Item1, This is Item2, This is Item3, This is Item4};

這裡寫圖片描述

單選擇的AlertDialog

  通過彈出AlertDialog,在AlertDialog中選擇想要的內容,點擊定義的NegativeButton,NeutralButton或者PositiveButton按鈕後退出,我們可以通過在NeutralButton或者PositiveButton按鈕中定義相關操作提交數據,NegativeButton則是不對數據做處理直接退出。注意:單選擇的AlertDialog只能選擇一項。
  

        AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
        builder.setTitle(Title);
        //設置單選則的選項
        builder.setSingleChoiceItems(mSexs, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int which) {
                mSex = mSexs[which];
                Toast.makeText(getApplicationContext(), 您選擇的性別是 + mSexs[which], Toast.LENGTH_SHORT).show();

            }
        });
        //取消按鈕,點擊後不對數據做處理。
        builder.setNegativeButton(Cancle, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {


            }
        });
        //確定按鈕,點擊後將數據顯示在EditText中。
        builder.setNeutralButton(OK, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                mEditTextSex.setText(mSex);
            }
        });
        builder.show();

補充數據定義:

    private String[] mSexs={男, 女, 其他};
    private String mSex;

這裡寫圖片描述

多選擇的AlertDialog

  通過彈出AlertDialog,在AlertDialog中選擇想要的內容,點擊定義的NegativeButton,NeutralButton或者PositiveButton按鈕後退出,我們可以通過在NeutralButton或者PositiveButton按鈕中定義相關操作提交數據,NegativeButton則是不對數據做處理直接退出。注意:多選擇的AlertDialog可以選擇多項。
  

AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
        builder.setTitle(Title);
        //設置多選擇項。
        builder.setMultiChoiceItems(mHobby, mIsCheckedManager, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int which, boolean isChecked) {
                mIsCheckedManager[which] = isChecked;

            }
        });
        builder.setNegativeButton(Cancle, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {


            }
        });
        builder.setNeutralButton(OK, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int which) {
                hobby = new StringBuffer();
                for (int i=0; i

補充數據定義:

     private String[] mHobby={唱歌, 學習, 讀書, 打籃球, 跑步, 運動};
    private boolean[] mIsCheckedManager=new boolean[mHobby.length];
    private StringBuffer hobby;

這裡寫圖片描述

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved