Android中AlertDilog顯示簡(jiǎn)單和復(fù)雜列表的方法
本文實(shí)例講述了Android中AlertDialog顯示簡(jiǎn)單和復(fù)雜列表的方法。分享給大家供大家參考,具體如下:
AlertDialog 顯示簡(jiǎn)單列表 setItems
import Android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class ListDialogTest1extends Activityimplements OnClickListener { private Button btnListDialog; private String[] provinces =new String[] { "上海", "北京", "湖南", "湖北", "海南" }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnListDialog = (Button) findViewById(R.id.btnListDialog); btnListDialog.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnListDialog: showListDialog(); break; } } private void showListDialog() { AlertDialog.Builder builder =new AlertDialog.Builder(this); builder.setTitle("請(qǐng)選擇省份"); /** * 1、public Builder setItems(int itemsId, final OnClickListener * listener) itemsId表示字符串?dāng)?shù)組的資源ID,該資源指定的數(shù)組會(huì)顯示在列表中。 2、public Builder * setItems(CharSequence[] items, final OnClickListener listener) * items表示用于顯示在列表中的字符串?dāng)?shù)組 */ builder.setItems(provinces, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { /* * ad變量用final關(guān)鍵字定義,因?yàn)樵陔[式實(shí)現(xiàn)的Runnable接口 的run()方法中 需要訪問final變量。 */ final AlertDialog ad =new AlertDialog.Builder( ListDialogTest1.this).setMessage( "你選擇的是:" + which + ": " + provinces[which]).show(); Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { // 調(diào)用AlertDialog類的dismiss()方法關(guān)閉對(duì)話框,也可以調(diào)用cancel()方法。 ad.dismiss(); } }; // 5秒后運(yùn)行run()方法。 handler.postDelayed(runnable, 5 * 1000); } }); builder.create().show(); } }
AlertDialog 顯示復(fù)雜列表 setMultiChoiceItems
一、通過AlertDialog.Builder類的setMultiChoiceItems()方法可以創(chuàng)建列表對(duì)話框,方法如下:
1、 從資源文件中裝載數(shù)據(jù):
public Builder setMultiChoiceItems(int itemsId, boolean[]checkedItems, final OnMultiChoiceListener listener)
2、從數(shù)據(jù)集中裝載數(shù)據(jù)
public Builder setMultiChoiceItems(Cursor cursor, StringisCheckedColumn, String labelColumn, final OnMultiChoiceListenerlistener)
3、從字符串?dāng)?shù)組中裝載數(shù)據(jù)
public Builder setMultiChoiceItems(CharSequence[] items,boolean[] checkedItems, final OnMultiChoiceListener listener)
import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.DialogInterface.OnMultiChoiceClickListener; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class DiaActivity extends Activity { /** Called when the activity is first created. */ private Button btn; private TextView tv; private String[] shuxing = { "字體顏色", "字體大小" }; private boolean[] chuzhi = { false, false }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.button1); tv = (TextView) findViewById(R.id.textView1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Builder b = new AlertDialog.Builder(DiaActivity.this); b.setTitle("gggggg"); b.setMultiChoiceItems(shuxing, chuzhi, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { switch (which) { case 0: chuzhi[0] = isChecked; break; case 1: chuzhi[1] = isChecked; break; default: break; } } }); b.setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (chuzhi[0] == true) { tv.setTextColor(Color.BLUE); } if (chuzhi[1] == true) { tv.setTextSize(50f); } } }); b.create().show(); } }); } }
二、通過AlertDialog.Builder類的setSingleChoiceItems方法可以創(chuàng)建帶單按鈕的列表:方法如下:
1、從資源文件中裝載數(shù)據(jù):
public Builder setSingleChoiceItems(int itemsId, intcheckedItem, final OnClickListener listener)
2、從數(shù)據(jù)集中裝載數(shù)據(jù)
public Builder setSingleChoiceItems(Cursor cursor, intcheckedItem, String labelColumn, final OnClickListenerlistener)
3、從字符串?dāng)?shù)組中裝載數(shù)據(jù)
public Builder setSingleChoiceItems(CharSequence[] items, intcheckedItem, final OnClickListener listener)
4、從ListAdapter對(duì)象中裝載數(shù)據(jù)
public Builder setSingleChoiceItems(ListAdapter adpater, intcheckedItem, final OnClickListener listener)
import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class SingleChoiceItemsTest extends Activityimplements OnClickListener { private String[] province = new String[] { "上海", "北京", "湖南", "湖北", "海南" }; private Button btnSingleChoiceList; // 單擊事件對(duì)象的實(shí)例 private ButtonOnClick buttonOnClick = new ButtonOnClick(1); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnSingleChoiceList = (Button) findViewById(R.id.btnSingleChoice); btnSingleChoiceList.setOnClickListener(this); } @Override public void onClick(View v) { showSingleChoiceButton(); } // 在單選選項(xiàng)中顯示 確定和取消按鈕 //buttonOnClickg變量的數(shù)據(jù)類型是ButtonOnClick,一個(gè)單擊事件類 private void showSingleChoiceButton() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("請(qǐng)選擇省份"); builder.setSingleChoiceItems(province, 0, buttonOnClick); builder.setPositiveButton("確定", buttonOnClick); builder.setNegativeButton("取消", buttonOnClick); builder.show(); } private class ButtonOnClick implements DialogInterface.OnClickListener { private int index; // 表示選項(xiàng)的索引 public ButtonOnClick(int index) { this.index = index; } @Override public void onClick(DialogInterface dialog,int which) { // which表示單擊的按鈕索引,所有的選項(xiàng)索引都是大于0,按鈕索引都是小于0的。 if (which >= 0) { //如果單擊的是列表項(xiàng),將當(dāng)前列表項(xiàng)的索引保存在index中。 //如果想單擊列表項(xiàng)后關(guān)閉對(duì)話框,可在此處調(diào)用dialog.cancel() //或是用dialog.dismiss()方法。 index = which; } else { //用戶單擊的是【確定】按鈕 if (which == DialogInterface.BUTTON_POSITIVE) { //顯示用戶選擇的是第幾個(gè)列表項(xiàng)。 final AlertDialog ad = new AlertDialog.Builder( SingleChoiceItemsTest.this).setMessage( "你選擇的地區(qū)是:" + index + ":" + province[index]).show(); //五秒鐘后自動(dòng)關(guān)閉。 Handler hander = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { ad.dismiss(); } }; hander.postDelayed(runnable, 5 * 1000); } //用戶單擊的是【取消】按鈕 else if (which == DialogInterface.BUTTON_NEGATIVE) { Toast.makeText(SingleChoiceItemsTest.this, "你沒有選擇任何東西", Toast.LENGTH_LONG); } } } } }
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android中AlertDialog的六種創(chuàng)建方式
- Android AlertDialog對(duì)話框用法示例
- Android中AlertDialog各種對(duì)話框的用法實(shí)例詳解
- Android AlertDialog實(shí)現(xiàn)分享對(duì)話框/退出對(duì)話框/下載對(duì)話框
- Android中阻止AlertDialog關(guān)閉實(shí)例代碼
- Android對(duì)話框AlertDialog.Builder使用方法詳解
- Android中AlertDialog用法實(shí)例分析
- 簡(jiǎn)析Android多種AlertDialog對(duì)話框效果
- Android使用自定義alertdialog實(shí)現(xiàn)確認(rèn)退出按鈕
- Android編程之自定義AlertDialog(退出提示框)用法實(shí)例
- Android實(shí)現(xiàn)點(diǎn)擊AlertDialog上按鈕時(shí)不關(guān)閉對(duì)話框的方法
- Android入門之AlertDialog用法實(shí)例分析
- Android修改源碼解決Alertdialog觸摸對(duì)話框邊緣消失的問題
相關(guān)文章
加載頁面遮擋耗時(shí)操作任務(wù)頁面--第三方開源之AndroidProgressLayout
AndroidProgressLayout實(shí)現(xiàn)為界面添加圓形進(jìn)度條。調(diào)用setprogress()方法顯示和隱藏進(jìn)度條,這篇文章主要介紹了加載頁面遮擋耗時(shí)操作任務(wù)頁面--第三方開源之AndroidProgressLayout的相關(guān)資料,需要的朋友可以參考下2015-11-11android RadioButton和CheckBox組件的使用方法
本次實(shí)驗(yàn)中主要是學(xué)習(xí)如何使用RadioGroup,CheckBox,RadioButton和Toast這幾個(gè)控件,android UI開發(fā)中也會(huì)經(jīng)常用到他們2013-11-11Android在不使用數(shù)據(jù)庫的情況下存儲(chǔ)數(shù)據(jù)的方法
這篇文章主要介紹了Android在不使用數(shù)據(jù)庫的情況下存儲(chǔ)數(shù)據(jù)的方法,涉及Android存儲(chǔ)數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2015-04-04Android自定義ViewGroup實(shí)現(xiàn)絢麗的仿支付寶咻一咻雷達(dá)脈沖效果
這篇文章主要介紹了Android自定義ViewGroup實(shí)現(xiàn)絢麗的仿支付寶咻一咻雷達(dá)脈沖效果的相關(guān)資料,需要的朋友可以參考下2016-10-10Android XML數(shù)據(jù)解析簡(jiǎn)單示例
這篇文章主要介紹了Android XML數(shù)據(jù)解析簡(jiǎn)單示例,本文直接給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-10-10Android中實(shí)現(xiàn)延時(shí)執(zhí)行操作的方法小結(jié)
在Android開發(fā)中我們可能會(huì)有延時(shí)執(zhí)行某個(gè)操作的需求,這篇文章主要介紹了Android中實(shí)現(xiàn)延時(shí)執(zhí)行操作的幾種方法,需要的朋友可以參考下2018-10-10Android應(yīng)用中ListView利用OnScrollListener分頁加載數(shù)據(jù)
這篇文章主要介紹了Android應(yīng)用中ListView利用OnScrollListener分頁加載數(shù)據(jù)的方法,包括對(duì)OnScrollListener事件順序次數(shù)的分析,需要的朋友可以參考下2016-03-03