鍍金池/ 教程/ Android/ Android Alertdialog(警告對(duì)話框)
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實(shí)例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢(shì)
Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
Android 資源組織和訪問
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過濾器
Android LinearLayout
Android登錄實(shí)例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動(dòng)畫)實(shí)例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對(duì)話框)
Android圖片效果
Android內(nèi)部存儲(chǔ)
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍(lán)牙)實(shí)例
Android RelativeLayout
Android最佳實(shí)踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實(shí)例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動(dòng)代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android Alertdialog(警告對(duì)話框)

在應(yīng)用程序中有些時(shí)候,如果想詢問用戶采取決定是或否所采取的特殊動(dòng)作的回應(yīng),由停在原來的活動(dòng)而不改變屏幕,可以使用警告對(duì)話框(Alert Dialog)。

要使用一個(gè)警告對(duì)話框,需要一個(gè)AlertDialogBuilder對(duì)象使用它的內(nèi)部類AlertDialog。它的語(yǔ)法如下面給出:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

現(xiàn)在使用AlertDialogBuilder類的對(duì)象,設(shè)置正(是)或負(fù)性(否)按鈕。它的語(yǔ)法如下:

alertDialogBuilder.setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener)
alertDialogBuilder.setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener)

除此之外,可以使用生成器類提供的其它功能自定義警告對(duì)話框。這些在下面列出:

Sr.No 方法類型及說明
1 setIcon(Drawable icon)
此方法設(shè)置警告對(duì)話框的圖標(biāo)。
2 setCancelable(boolean cancelable)
此方法設(shè)置屬性,對(duì)話可以取消或不
3 setMessage(CharSequence message)
此方法設(shè)置要顯示的警告對(duì)話框中的消息
4 setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener)
顯示的對(duì)話框的內(nèi)容在此方法集的條目列表。所選擇的選項(xiàng)將被監(jiān)聽通知
5 setOnCancelListener(DialogInterface.OnCancelListener onCancelListener)
此方法設(shè)置將被調(diào)用,如果取消該對(duì)話框的回調(diào)
6 setTitle(CharSequence title)
此方法設(shè)置顯示在對(duì)話框中的標(biāo)題

創(chuàng)建和設(shè)置對(duì)話框構(gòu)建器之后,將通過調(diào)用生成器類的 create()方法創(chuàng)建一個(gè)警告對(duì)話框。它的語(yǔ)法如下:

AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();

這將創(chuàng)建警告對(duì)話框,并會(huì)顯示在屏幕上。

例子

下面的例子演示如何使用Android AlertDialog。它采用了三種不同的活動(dòng)演示它。該對(duì)話框詢問跳轉(zhuǎn)到正的活動(dòng),或取消跳到負(fù)的活動(dòng)。

為了試驗(yàn)這個(gè)例子,需要在模擬器或?qū)嶋H設(shè)備上運(yùn)行。

步驟 描述
1 使用Android Studio創(chuàng)建Android應(yīng)用程序,并將其命名為AlertDialog。創(chuàng)建這個(gè)項(xiàng)目時(shí)確保目標(biāo)SDK編譯在Android SDK的最新版本或使用更高級(jí)別的API
2 修改 src/MainActivity.java文件添加警告對(duì)話框代碼以啟動(dòng)對(duì)話框
3 修改所需的布局res/layout/activity_main.xml添加GUI組件
4 創(chuàng)建一個(gè)名為PositiveActivity 的新活動(dòng),并通過訪問確認(rèn) src/PositiveActivity.java 文件代碼
5 修改新創(chuàng)建活動(dòng)的 res/layout/activity_positive.xml XML布局文件,如果需要添加GUI組件
6 創(chuàng)建一個(gè)名為NegativeActivity 新的活動(dòng),并通過訪問確認(rèn) src/NegativeActivity.java 文件代碼
7 修改新創(chuàng)建活動(dòng)的 res/layout/activity_negative.xml XML布局文件,如果需要添加GUI組件
8 修改res/values/strings.xml 定義所需的常量值
9 運(yùn)行應(yīng)用程序并選擇運(yùn)行 Android 設(shè)備,并在其上安裝應(yīng)用和驗(yàn)證結(jié)果

這里是修改后的代碼 src/com.yiibai.alertdialog/MainActivity.java

package com.example.alertdialog;

import com.example.alertdialog.*;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
	
   public void open(View view){
      AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
      alertDialogBuilder.setMessage(R.string.decision);
      alertDialogBuilder.setPositiveButton(R.string.positive_button, 
      new DialogInterface.OnClickListener() {
		
         @Override
         public void onClick(DialogInterface arg0, int arg1) {
            Intent positveActivity = new Intent(getApplicationContext(),com.example.alertdialog.PositiveActivity.class);
            startActivity(positveActivity);
			
         }
      });
      alertDialogBuilder.setNegativeButton(R.string.negative_button, 
      new DialogInterface.OnClickListener() {
			
         @Override
         public void onClick(DialogInterface dialog, int which) {
            Intent上一篇:Android數(shù)據(jù)備份下一篇:Android TableLayout