Android中AlertDialog的六種建立方式_Android

來源:互聯網
上載者:User

 建立AlertDialog的步驟:

  1、建立AlertDialog.Builder對象

  2、調用Builder對象的setTitle方法設定標題,setIcon方法設定表徵圖

  3、調用Builder相關方法如setMessage方法、setItems方法、setSingleChoiceItems方法、setMultiChoiceItems方法、setAdapter方法、setView方法設定不同類型的對話方塊內容。

  4、調用setPositiveButton、setNegativeButton、setNeutralButton設定多個按鈕

  5、調用Builder對象的create()方法建立AlertDialog對象

  6、調用AlertDialog對象的show()方法將對話方塊顯示出來

一、setMessage:設定對話方塊內容為簡單常值內容

  // 建立構建器AlertDialog.Builder builder = new AlertDialog.Builder(this);// 設定參數builder.setTitle("請做出選擇").setIcon(R.drawable.ic_launcher).setMessage("鳳姐美不美").setPositiveButton("美", new OnClickListener() {// 積極@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "恭喜你打錯了", 0).show();}}).setNegativeButton("不美", new OnClickListener() {// 消極@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "恭喜你答對了", 0).show();}}).setNeutralButton("不知道", new OnClickListener() {// 中間級@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你瞎啊", 0).show();}});builder.create().show();

運行截圖:

二、setItem:設定文字框內容為簡單清單項目

  // 建立資料final String[] items = new String[] { "北京", "上海", "廣州", "深圳" };// 建立對話方塊構建器AlertDialog.Builder builder = new AlertDialog.Builder(this);// 設定參數builder.setIcon(R.drawable.ic_launcher).setTitle("提示").setItems(items, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, items[which],Toast.LENGTH_SHORT).show();}});builder.create().show();

運行截圖:

三、setSingleChoiceItems()設定對話方塊內容為單選清單項目

// 建立資料final String[] items = new String[] { "北京", "上海", "廣州", "深圳" };// 建立對話方塊構建器AlertDialog.Builder builder = new AlertDialog.Builder(this);// 設定參數builder.setIcon(R.drawable.ic_launcher).setTitle("提示").setSingleChoiceItems(items, 0, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, items[which],Toast.LENGTH_SHORT).show();}});builder.create().show();

運行截圖:

四、setMultiChoiceItems()設定對話方塊內容為多選項列表

// 建立資料final String[] items = new String[] { "北京", "上海", "廣州", "深圳" };// 建立對話方塊構建器AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setIcon(R.drawable.ic_launcher).setTitle("提示").setMultiChoiceItems(items,new boolean[] { true, true, false, false, false },new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which, boolean isChecked) {// TODO Auto-generated method stubif (isChecked) {Toast.makeText(MainActivity.this,items[which], 0).show();}}});builder.create().show();

運行截圖:

五、setAdapter()設定對話方塊內容為自訂欄表項(這裡是一個布局)

 // 建立資料final String[] items = new String[] { "北京", "上海", "廣州", "深圳" };// 建立對話方塊構建器AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("提示").setIcon(R.drawable.ic_launcher).setAdapter(new ArrayAdapter<String>(MainActivity.this,R.layout.item, R.id.tv, items),new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, items[which],0).show();}});builder.create().show();

運行截圖:

六、setView()設定對話方塊為自訂View

 // 建立對話方塊構建器AlertDialog.Builder builder = new AlertDialog.Builder(this);// 擷取布局View view2 = View.inflate(MainActivity.this, R.layout.login, null);// 擷取布局中的控制項final EditText username = (EditText) view2.findViewById(R.id.username);final EditText password = (EditText) view2.findViewById(R.id.password);final Button button = (Button) view2.findViewById(R.id.btn_login);// 設定參數builder.setTitle("Login").setIcon(R.drawable.ic_launcher).setView(view2);// 建立對話方塊final AlertDialog alertDialog = builder.create();button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString uname = username.getText().toString().trim();String psd = password.getText().toString().trim();if (uname.equals("zcl") && psd.equals("123456")) {Toast.makeText(MainActivity.this, "登入成功", 0).show();}Toast.makeText(MainActivity.this, "登入失敗", 0).show();alertDialog.dismiss();// 對話方塊消失}});alertDialog.show();

運行截圖:    

 

以上所述是小編給大家介紹的Android中AlertDialog的六種建立方式,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.