最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年12月26日 10:58:17   作者:光仔December  
這篇文章主要為大家詳細(xì)介紹了Android使用AlertDialog創(chuàng)建對(duì)話框的方法料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

2.帶列表的列表對(duì)話框

3.帶多個(gè)單選列表項(xiàng)和N個(gè)按鈕的列表對(duì)話框

4.帶多個(gè)多選列表項(xiàng)和N個(gè)按鈕的列表對(duì)話框

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

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

下面通過一個(gè)具體的實(shí)例說明如何使用AlertDialog類生成提示對(duì)話框和各種列表對(duì)話框
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="顯示帶取消、中立和確定按鈕的對(duì)話框"/> 
 <Button android:id="@+id/button2" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示列表的對(duì)話框"/> 
 <Button android:id="@+id/button3" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示帶單選列表對(duì)話框"/> 
 <Button android:id="@+id/button4" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="顯示帶多選列表對(duì)話框"/> 
</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;//記錄各個(gè)列表項(xiàng)的狀態(tài) 
 private String[] items;//各列表項(xiàng)要顯示的內(nèi)容 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.main); 
   
  //顯示帶取消、中立和確定按鈕的對(duì)話框 
  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);//設(shè)置對(duì)話框的圖標(biāo) 
    alert.setTitle("系統(tǒng)提示");//設(shè)置對(duì)話框的標(biāo)題 
    alert.setMessage("顯示帶取消、中立和確定按鈕的對(duì)話框!");//設(shè)置對(duì)話框顯示的內(nèi)容 
    //添加“取消”按鈕 
    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();//顯示對(duì)話框 
   } 
  }); 
   
   
  //顯示列表的對(duì)話框 
  Button button2=(Button)findViewById(R.id.button2); 
  button2.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) { 
    final String[] items=new String[]{"唱歌","跳舞","美術(shù)","遠(yuǎn)足旅行","攝影"}; 
    Builder builder=new AlertDialog.Builder(MainActivity.this); 
    builder.setIcon(R.drawable.in); 
    builder.setTitle("請(qǐng)選擇你的愛好:"); 
    //添加列表項(xiàng) 
    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)建對(duì)話框并顯示 
   } 
  }); 
   
  //顯示帶單選列表對(duì)話框 
  Button button3=(Button)findViewById(R.id.button3); 
  button3.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View arg0) { 
    final String[] items=new String[]{"標(biāo)準(zhǔn)","無聲","會(huì)議","戶外","離線"}; 
    Builder builder=new AlertDialog.Builder(MainActivity.this); 
    builder.setIcon(R.drawable.music); 
    builder.setTitle("請(qǐng)選擇要使用的情景模式:"); 
    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)建對(duì)話框并顯示 
   } 
  }); 
   
  //顯示帶多選列表對(duì)話框 
  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) 
    //各列表項(xiàng)要顯示的內(nèi)容 
    items=new String[]{"植物大戰(zhàn)僵尸","憤怒的小鳥","泡泡龍","開心消消樂","地鐵跑酷"}; 
    //顯示帶單選列表框的對(duì)話框 
    Builder builder=new AlertDialog.Builder(MainActivity.this); 
    builder.setIcon(R.drawable.setting); 
    builder.setTitle("請(qǐng)選擇您喜歡的游戲:"); 
    builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { 
      
     @Override 
     public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
      checkedItems[which]=isChecked; 
     } 
    }); 
    //為對(duì)話框添加"確定"按鈕 
    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]+"、"; 
       } 
      } 
      //當(dāng)result不為空時(shí),通過消息提示框顯示選擇的結(jié)果 
      if(!"".equals(result)){ 
       result=result.substring(0,result.length()-1);//去掉最后的"、"號(hào) 
       Toast.makeText(MainActivity.this, "您選擇了:["+result+"]",Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 
    builder.create().show();//創(chuàng)建對(duì)話框并顯示 
   } 
  }); 
 } 
} 

效果如圖:

點(diǎn)擊第一個(gè)按鈕:


點(diǎn)擊第二個(gè)按鈕:


點(diǎn)擊第三個(gè)按鈕:


點(diǎn)擊第四個(gè)按鈕:



以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Flutter?GridView顯示隨機(jī)單詞效果

    Flutter?GridView顯示隨機(jī)單詞效果

    這篇文章主要為大家詳細(xì)介紹了Flutter?GridView顯示隨機(jī)單詞效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • WebView渲染異常導(dǎo)致閃退問題的解決方案

    WebView渲染異常導(dǎo)致閃退問題的解決方案

    這篇文章主要介紹了WebView渲染異常導(dǎo)致閃退問題的解決方案,文中通過設(shè)置WebViewClient重寫onRenderProcessGone()方法并移除、重新創(chuàng)建Web容器來解決該問題,需要的朋友可以參考下
    2025-02-02
  • Android RecylerView入門教程

    Android RecylerView入門教程

    這篇文章主要介紹了Android RecylerView入門教程的相關(guān)資料,很適合剛?cè)腴T的新手學(xué)習(xí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • Android批量修改文件格式/文件名的神操作分享

    Android批量修改文件格式/文件名的神操作分享

    最近工作中遇到了一個(gè)功能,需要批量修改文件格式,發(fā)現(xiàn)實(shí)現(xiàn)的過程挺值得分享的,所以下面這篇文章主要給大家介紹了關(guān)于Android批量修改文件格式/文件名的神操作,需要的朋友可以參考下
    2021-09-09
  • Android自定義帶水滴的進(jìn)度條樣式(帶漸變色效果)

    Android自定義帶水滴的進(jìn)度條樣式(帶漸變色效果)

    這篇文章主要介紹了Android自定義帶水滴的進(jìn)度條樣式(帶漸變色效果)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • Android Studio 4.0 新功能中的Live Layout Inspector詳解

    Android Studio 4.0 新功能中的Live Layout Inspector詳解

    這篇文章主要介紹了Android Studio 4.0 新功能中的Live Layout Inspector,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Android通過反射實(shí)現(xiàn)強(qiáng)制停止應(yīng)用程序的方法

    Android通過反射實(shí)現(xiàn)強(qiáng)制停止應(yīng)用程序的方法

    這篇文章主要介紹了Android通過反射實(shí)現(xiàn)強(qiáng)制停止應(yīng)用程序的方法,涉及Android的反射機(jī)制與進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • 詳解Flutter如何繪制曲線,折線圖及波浪動(dòng)效

    詳解Flutter如何繪制曲線,折線圖及波浪動(dòng)效

    這篇文章主要為大家介紹線條類圖形的繪制(正弦曲線、折線圖),并且結(jié)合 Animation 實(shí)現(xiàn)了常見的波浪動(dòng)效,感興趣的小伙伴可以了解一下
    2022-03-03
  • Android編程開發(fā)從零開始編寫一個(gè)輕量級(jí)瀏覽器

    Android編程開發(fā)從零開始編寫一個(gè)輕量級(jí)瀏覽器

    這篇文章主要為大家介紹了Android編程開發(fā)從零開始編寫一個(gè)輕量級(jí)瀏覽器過程步驟示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步
    2022-02-02
  • Android開發(fā)之圖片壓縮工具類完整實(shí)例

    Android開發(fā)之圖片壓縮工具類完整實(shí)例

    這篇文章主要介紹了Android開發(fā)之圖片壓縮工具類,結(jié)合完整實(shí)例形式分析了Android針對(duì)圖片壓縮的相關(guān)屬性設(shè)置與轉(zhuǎn)換操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11

最新評(píng)論

夏津县| 宝山区| 江源县| 宁德市| 锦屏县| 房产| 岳池县| 安泽县| 奎屯市| 青岛市| 香河县| 讷河市| 潼南县| 大城县| 利津县| 吴桥县| 滁州市| 上思县| 富平县| 南城县| 武夷山市| 全州县| 铁岭县| 贵南县| 长顺县| 石屏县| 张家口市| 婺源县| 西盟| 七台河市| 嘉义市| 兴安盟| 英山县| 金门县| 泸水县| 简阳市| 五指山市| 芜湖市| 徐水县| 遂宁市| 桐城市|