中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中使用AlertDialog創建一個對話框

發布時間:2021-03-29 17:29:54 來源:億速云 閱讀:170 作者:Leah 欄目:移動開發

今天就跟大家聊聊有關怎么在Android中使用AlertDialog創建一個對話框,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

AlertDialog不僅可以生成帶按鈕的提示對話框,還可以生成帶列表的列表對話框,概括起來有一下4種:

1.帶確定、中立和取消等N個按鈕的提示對話框,其中的按鈕個數不是固定的,可以根據需要添加。例如,不需要中立按鈕,則可以只生成帶有確定和取消按鈕的對話框,也可以是只需有一個按鈕的對話框。

2.帶列表的列表對話框

3.帶多個單選列表項和N個按鈕的列表對話框

4.帶多個多選列表項和N個按鈕的列表對話框

在使用AlertDialog類生成對話框時,常用的方法如下所示:
setTitle :為對話框設置標題
setIcon :為對話框設置圖標
setMessage:為對話框設置內容
setButton:用于為提示對話框添加按鈕,可以是取消按鈕、中立按鈕和確定按鈕。需要通過為其指定int類型的whichButton參數實現,其參數可以是DialogInterface.BUTTON_POSITIVE(確定按鈕)、BUTTON_NEGATIVE(取消按鈕)或者BUTTON_NEUTRAL(中立按鈕)。

通常情況下,使用AlertDialog類只能生成帶N個按鈕的提示對話框,要生成另外3種列表對話框,需要使用AlertDialog.Builder類,AlertDialog.Builder類提供的常用方法如下表:
setTitle :為對話框設置標題
setIcon :為對話框設置圖標
setMessage:為對話框設置內容
setView : 給對話框設置自定義樣式
setItems :設置對話框要顯示的一個list,一般用于顯示幾個命令時
setSingleChoiceItems :用來設置對話框顯示一系列的單選框
setMultiChoiceItems :用來設置對話框顯示一系列的復選框
setNeutralButton    :普通按鈕
setPositiveButton   :給對話框添加"Yes"按鈕
setNegativeButton :對話框添加"No"按鈕
create : 創建對話框
show :顯示對話框

下面通過一個具體的實例說明如何使用AlertDialog類生成提示對話框和各種列表對話框
res/layout/main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:orientation="vertical" 
 android:layout_width="fill_parent" 
 android:layout_height="fill_parent" 
 android:id="@+id/layout1" 
 android:gravity="center_horizontal" 
 > 
 <Button android:id="@+id/button1" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示帶取消、中立和確定按鈕的對話框"/> 
 <Button android:id="@+id/button2" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示列表的對話框"/> 
 <Button android:id="@+id/button3" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示帶單選列表對話框"/> 
 <Button android:id="@+id/button4" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示帶多選列表對話框"/> 
</LinearLayout>

界面為圖

怎么在Android中使用AlertDialog創建一個對話框

MainActivity:

package com.example.test; 
 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.AlertDialog.Builder; 
import android.content.DialogInterface; 
import android.content.DialogInterface.OnMultiChoiceClickListener; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 
 
public class MainActivity extends Activity { 
 private boolean[] checkedItems;//記錄各個列表項的狀態 
 private String[] items;//各列表項要顯示的內容 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
   
  //顯示帶取消、中立和確定按鈕的對話框 
  Button button1=(Button)findViewById(R.id.button1); 
  button1.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) { 
    AlertDialog alert=new AlertDialog.Builder(MainActivity.this).create(); 
    alert.setIcon(R.drawable.ic_launcher);//設置對話框的圖標 
    alert.setTitle("系統提示");//設置對話框的標題 
    alert.setMessage("顯示帶取消、中立和確定按鈕的對話框!");//設置對話框顯示的內容 
    //添加“取消”按鈕 
    alert.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", 
      new DialogInterface.OnClickListener() { 
 
 
      @Override 
      public void onClick(DialogInterface dialog,int which) { 
       Toast.makeText(MainActivity.this, "您單擊了取消按鈕", Toast.LENGTH_SHORT).show(); 
      } 
    }); 
    //添加“確定”按鈕 
    alert.setButton(DialogInterface.BUTTON_POSITIVE, "確定", 
      new DialogInterface.OnClickListener() { 
 
 
      @Override 
      public void onClick(DialogInterface dialog,int which) { 
       Toast.makeText(MainActivity.this, "您單擊了確定按鈕", Toast.LENGTH_SHORT).show(); 
      } 
    }); 
    //添加“中立”按鈕 
    alert.setButton(DialogInterface.BUTTON_NEUTRAL, "中立", 
      new DialogInterface.OnClickListener() { 
 
 
      @Override 
      public void onClick(DialogInterface dialog,int which) { 
       Toast.makeText(MainActivity.this, "您單擊了中立按鈕", Toast.LENGTH_SHORT).show(); 
      } 
    }); 
    alert.show();//顯示對話框 
   } 
  }); 
   
   
  //顯示列表的對話框 
  Button button2=(Button)findViewById(R.id.button2); 
  button2.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) { 
    final String[] items=new String[]{"唱歌","跳舞","美術","遠足旅行","攝影"}; 
    Builder builder=new AlertDialog.Builder(MainActivity.this); 
    builder.setIcon(R.drawable.in); 
    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();//創建對話框并顯示 
   } 
  }); 
   
  //顯示帶單選列表對話框 
  Button button3=(Button)findViewById(R.id.button3); 
  button3.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) { 
    final String[] items=new String[]{"標準","無聲","會議","戶外","離線"}; 
    Builder builder=new AlertDialog.Builder(MainActivity.this); 
    builder.setIcon(R.drawable.music); 
    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();//創建對話框并顯示 
   } 
  }); 
   
  //顯示帶多選列表對話框 
  Button button4=(Button)findViewById(R.id.button4); 
  button4.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) { 
    checkedItems =new boolean[]{false,true,false,true,false};//記錄各列表的狀態 
    //各列表項要顯示的內容 
    items=new String[]{"植物大戰僵尸","憤怒的小鳥","泡泡龍","開心消消樂","地鐵跑酷"}; 
    //顯示帶單選列表框的對話框 
    Builder builder=new AlertDialog.Builder(MainActivity.this); 
    builder.setIcon(R.drawable.setting); 
    builder.setTitle("請選擇您喜歡的游戲:"); 
    builder.setMultiChoiceItems(items, checkedItems, new 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]+"、"; 
       } 
      } 
      //當result不為空時,通過消息提示框顯示選擇的結果 
      if(!"".equals(result)){ 
       result=result.substring(0,result.length()-1);//去掉最后的"、"號 
       Toast.makeText(MainActivity.this, "您選擇了:["+result+"]",Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 
    builder.create().show();//創建對話框并顯示 
   } 
  }); 
 } 
}

看完上述內容,你們對怎么在Android中使用AlertDialog創建一個對話框有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄骅市| 香河县| 乐平市| 读书| 锡林郭勒盟| 铜梁县| 盐池县| 甘德县| 通道| 庆城县| 博乐市| 澳门| 西华县| 蕉岭县| 乐山市| 屯昌县| 天峻县| 盐边县| 襄城县| 宁化县| 英吉沙县| 乌鲁木齐县| 临潭县| 夏津县| 杭锦后旗| 新乡县| 日土县| 沙河市| 铜陵市| 孝感市| 玉林市| 潍坊市| 泰兴市| 北票市| 南投市| 石柱| 凯里市| 儋州市| 庐江县| 朝阳县| 连山|