91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

常見對話框AlertDialog如何理解

發布時間:2022-01-07 22:13:29 來源:億速云 閱讀:138 作者:柒染 欄目:移動開發

今天就跟大家聊聊有關常見對話框AlertDialog如何理解,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

在Android應用中,有多種對話框:Dialog、AlertDialog、ProgressDialog、時間、日期等對話框。

  (1)Dialog類,是一切對話框的基類,需要注意的是,Dialog類雖然可以在界面上顯示,但是并非繼承與習慣的View類,而是直接從java.lang.Object開始構造出來的,類似于Activity,Dialog也是有生命周期的,它的生命周期由Activity來維護。Activity負責生產,保存,回復它,在生命周期的每個階段都有一些回調函數供系統方向調用。

  (2)AlertDialog是Dialog的一個直接子類,AlertDialog也是Android系統當中最常用的對話框之一。一個AlertDialog可以有兩個Button或3個Button,可以對一個AlertDialog設置title和message.不能直接通過AlertDialog的構造函數來生成一個AlertDialog.一般生成AlertDialog的時候都是通過它的一個內部靜態類AlertDialog.builder來構造的。

  (3)顧名思義,這個Dialog負責給用戶顯示進度的相關情況,它是AlertDialog的一個子類。

  本章我們著重講解一下AlertDialog!

  AlertDialog的構造方法全部是Protected的,所以不能直接通過new一個AlertDialog來創建出一個AlertDialog。

  要創建一個AlertDialog,就要用到AlertDialog.Builder中的create()方法。

  使用AlertDialog.Builder創建對話框需要了解以下幾個方法:

    setTitle :為對話框設置標題
    setIcon :為對話框設置圖標
    setMessage:為對話框設置內容
    setView : 給對話框設置自定義樣式
    setItems :設置對話框要顯示的一個list,一般用于顯示幾個命令時
    setMultiChoiceItems :用來設置對話框顯示一系列的復選框
    setNeutralButton :普通按鈕

    setPositiveButton :給對話框添加"Yes"按鈕“確定”
    setNegativeButton :對話框添加"No"按鈕  “取消”
    create : 創建對話框
    show :顯示對話框

一、簡單對話框

  Dialog類雖然可以在界面上顯示,但是并非繼承與習慣的View類,而是直接從java.lang.Object開始構造出來的。

  1、打開“src/com.genwoxue.alertdialog_a/MainActivity.java”文件。

  然后輸入以下代碼:

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.os.Bundle;
import android.view.Menu;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//AlertDialog的構造方法全部是Protected的,所以不能直接通過new一個AlertDialog來創建出一個AlertDialog
//要創建一個AlertDialog,就要用到AlertDialog.Builder中的create()方法
Builder adInfo = new AlertDialog.Builder(this);
adInfo.setTitle("簡單對話框");//設置標題
adInfo.setMessage("這是一個美麗的傳說,精美的石頭會唱歌……");//設置內容
adInfo.create();
adInfo.show();//打開app就彈出這個對話框,點擊對話框外面的對話框會消失不見
}




}

2、運行,顯示界面:

常見對話框AlertDialog如何理解

二、帶按鈕的AlertDialog

  我們在執行刪除、確認等操作時,常常在對話框中單擊按鈕,AlertDialog可以顯示3個按鈕。

  1、打開“src/com.genwoxue.alertdialog_bMainActivity.java”文件。

  然后輸入以下代碼:


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


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("確定刪除?");
dialog.setMessage("您確定刪除該條信息嗎?");
dialog.setIcon(R.drawable.ic_launcher);
//為“確定”按鈕注冊監聽事件
dialog.setPositiveButton("確定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// 根據實際情況編寫相應代碼

}
});
//為“取消”按鈕注冊監聽事件
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// 根據實際情況編寫相應代碼

}
});
dialog.setNeutralButton("查看詳情", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// 根據實際情況編寫相應代碼

}
});
dialog.create();
dialog.show();
}


}

2、運行,顯示界面:

常見對話框AlertDialog如何理解

三、帶有單選按鈕、類似ListView的AlertDialog對話框

  setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)方法來實現類似ListView的AlertDialog,第一個參數是要顯示的數據的數組,第二個參數指定默認選中項,第三個參數設置監聽處理事件。

  1、打開“src/com.genwoxue.alertdialog_c/MainActivity.java”文件。

  然后輸入以下代碼:

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Toast;


public class MainActivity extends Activity {
//聲明選中項變量
private int selectedCityIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//定義城市數組
final String[] arrayCity = new String[]{"杭州","紐約","威尼斯","北海道"};
//實例化AlertDialog對話框
Dialog alertDialog = new AlertDialog.Builder(this)
.setTitle("你最喜歡哪個地方")//設置標題
.setIcon(R.drawable.ic_launcher)//設置圖標
//設置對話框顯示一個單選List,指定默認選中項,同時設置監聽事件處理
.setSingleChoiceItems(arrayCity, 0, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// 選中項的索引保存到選中項變量
selectedCityIndex = which;

}
})
//添加取消按鈕并增加監聽處理
.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO 自動生成的方法存根

}
})
//添加確定按鈕并增加監聽處理
.setPositiveButton("確定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
//顯示選中的值
Toast.makeText(getApplicationContext(), arrayCity[selectedCityIndex], Toast.LENGTH_SHORT).show();
}
}).create();
alertDialog.show();//.show()必須單獨寫,不能接著上面的

}
}

2、運行,顯示界面:

常見對話框AlertDialog如何理解

四、帶有復選框、類似ListView的AlertDialog對話框

  setMultiChoiceItems(CharSequence[] items, boolearn[] checkedItems,final OnMultiChoiceClickListener listener)方法來實現類似ListView的AlertDialog,第一個參數是要顯示的數據的數組,第二個參數指定默認選中項,第在個參數設置監聽處理事件。

  1、打開“src/com.genwoxue.alertdialog_d/MainActivity.java”文件。

  然后輸入以下代碼:

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Toast;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//定義運動數組
final String[] arraySport = {"足球","籃球","網球","乒乓球"};
final boolean[] arraySportSelected = new boolean[]{false,false,false,false};
//實例化AlertDialog對話框
Dialog alertDialog = new AlertDialog.Builder(this)
.setTitle("你喜歡哪些運動")//設置標題
.setIcon(R.drawable.ic_launcher)//設置圖標
//設置對話框顯示一個復選List,指定默認選中項,同時設置監聽事件處理
.setMultiChoiceItems(arraySport, arraySportSelected, new DialogInterface.OnMultiChoiceClickListener() {

@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// 選中項的布爾真假保存到選中項變量
arraySportSelected[which] = isChecked;

}
})
//添加確定按鈕并增加監聽處理
.setPositiveButton("確定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
StringBuilder sb = new StringBuilder();
for(int i=0;i<arraySportSelected.length;i++){
if(arraySportSelected[i]==true){
sb.append(arraySport[i]+"、");
}
}
Toast.makeText(getApplicationContext(), sb.toString(), Toast.LENGTH_LONG).show();
}
})
//添加取消按鈕并增加監聽處理
.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO 自動生成的方法存根

}
}).create();
alertDialog.show();
}
}

看完上述內容,你們對常見對話框AlertDialog如何理解有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

石屏县| 读书| 神农架林区| 常宁市| 华阴市| 隆尧县| 银川市| 资源县| 射阳县| 竹北市| 营山县| 泽州县| 喜德县| 青龙| 临清市| 盐津县| 长乐市| 遵义县| 宁晋县| 平阴县| 广汉市| 桃园市| 大埔区| 梨树县| 洛阳市| 安福县| 海盐县| 安庆市| 罗源县| 成安县| 泸水县| 长葛市| 石屏县| 炉霍县| 台山市| 合江县| 泉州市| 玉环县| 乌兰察布市| 梧州市| 扎赉特旗|