国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android使用AlertDialog創(chuàng)建對話框

2019-12-12 01:23:32
字體:
來源:轉載
供稿:網(wǎng)友

AlertDialog類的功能十分強大,它不僅可以生成帶按鈕的提示對話框,還可以生成帶列表的列表對話框,概括起來有一下4種:

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

2.帶列表的列表對話框

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

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

在使用AlertDialog類生成對話框時,常用的方法如下所示:
setTitle :為對話框設置標題
setIcon :為對話框設置圖標
setMessage:為對話框設置內容
setButton:用于為提示對話框添加按鈕,可以是取消按鈕、中立按鈕和確定按鈕。需要通過為其指定int類型的whichButton參數(shù)實現(xiàn),其參數(shù)可以是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 : 創(chuàng)建對話框
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> 

界面為圖


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;//記錄各個列表項的狀態(tài)  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("系統(tǒng)提示");//設置對話框的標題     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();//創(chuàng)建對話框并顯示    }   });      //顯示帶單選列表對話框   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();//創(chuàng)建對話框并顯示    }   });      //顯示帶多選列表對話框   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};//記錄各列表的狀態(tài)     //各列表項要顯示的內容     items=new String[]{"植物大戰(zhàn)僵尸","憤怒的小鳥","泡泡龍","開心消消樂","地鐵跑酷"};     //顯示帶單選列表框的對話框     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();//創(chuàng)建對話框并顯示    }   });  } } 

效果如圖:

點擊第一個按鈕:


點擊第二個按鈕:


點擊第三個按鈕:


點擊第四個按鈕:



以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 焦作市| 秭归县| 搜索| 阜南县| 胶南市| 湟中县| 油尖旺区| 班戈县| 启东市| 宝清县| 南安市| 句容市| 莆田市| 高尔夫| 丰顺县| 吴忠市| 阳春市| 鄂尔多斯市| 开封市| 策勒县| 沂南县| 潼南县| 贺兰县| 泗阳县| 木兰县| 平安县| 恭城| 平果县| 宝鸡市| 佛教| 扶绥县| 高淳县| 吉木萨尔县| 柘城县| 弋阳县| 疏勒县| 伊金霍洛旗| 丰城市| 广汉市| 邓州市| 虹口区|