国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中AlertDilog顯示簡單和復雜列表的方法

2019-12-12 05:38:36
字體:
來源:轉載
供稿:網友

本文實例講述了Android中AlertDialog顯示簡單和復雜列表的方法。分享給大家供大家參考,具體如下:

AlertDialog 顯示簡單列表 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("請選擇省份");    /**     * 1、public Builder setItems(int itemsId, final OnClickListener     * listener) itemsId表示字符串數組的資源ID,該資源指定的數組會顯示在列表中。 2、public Builder     * setItems(CharSequence[] items, final OnClickListener listener)     * items表示用于顯示在列表中的字符串數組     */    builder.setItems(provinces, new DialogInterface.OnClickListener()    {      @Override      public void onClick(DialogInterface dialog,int which)     {      /*      * ad變量用final關鍵字定義,因為在隱式實現的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()        {          // 調用AlertDialog類的dismiss()方法關閉對話框,也可以調用cancel()方法。          ad.dismiss();        }      };      // 5秒后運行run()方法。      handler.postDelayed(runnable, 5 * 1000);      }    });    builder.create().show();  }}

AlertDialog 顯示復雜列表 setMultiChoiceItems

一、通過AlertDialog.Builder類的setMultiChoiceItems()方法可以創建列表對話框,方法如下:

1、 從資源文件中裝載數據:

public Builder setMultiChoiceItems(int itemsId, boolean[]checkedItems, final OnMultiChoiceListener listener)

2、從數據集中裝載數據

public Builder setMultiChoiceItems(Cursor cursor, StringisCheckedColumn, String labelColumn, final OnMultiChoiceListenerlistener)

3、從字符串數組中裝載數據

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方法可以創建帶單按鈕的列表:方法如下:

1、從資源文件中裝載數據:

public Builder setSingleChoiceItems(int itemsId, intcheckedItem, final OnClickListener listener)

2、從數據集中裝載數據

public Builder setSingleChoiceItems(Cursor cursor, intcheckedItem, String labelColumn, final OnClickListenerlistener)

3、從字符串數組中裝載數據

public Builder setSingleChoiceItems(CharSequence[] items, intcheckedItem, final OnClickListener listener)

4、從ListAdapter對象中裝載數據

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;  // 單擊事件對象的實例  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();  }  // 在單選選項中顯示 確定和取消按鈕  //buttonOnClickg變量的數據類型是ButtonOnClick,一個單擊事件類  private void showSingleChoiceButton()  {    AlertDialog.Builder builder = new AlertDialog.Builder(this);    builder.setTitle("請選擇省份");    builder.setSingleChoiceItems(province, 0, buttonOnClick);    builder.setPositiveButton("確定", buttonOnClick);    builder.setNegativeButton("取消", buttonOnClick);    builder.show();  }  private class ButtonOnClick implements DialogInterface.OnClickListener  {    private int index; // 表示選項的索引    public ButtonOnClick(int index)    {      this.index = index;    }    @Override    public void onClick(DialogInterface dialog,int which)    {      // which表示單擊的按鈕索引,所有的選項索引都是大于0,按鈕索引都是小于0的。      if (which >= 0)      {       //如果單擊的是列表項,將當前列表項的索引保存在index中。       //如果想單擊列表項后關閉對話框,可在此處調用dialog.cancel()       //或是用dialog.dismiss()方法。       index = which;      }      else      {       //用戶單擊的是【確定】按鈕       if (which == DialogInterface.BUTTON_POSITIVE)       {         //顯示用戶選擇的是第幾個列表項。         final AlertDialog ad = new AlertDialog.Builder(             SingleChoiceItemsTest.this).setMessage(             "你選擇的地區是:" + index + ":" + province[index]).show();         //五秒鐘后自動關閉。         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);       }      }    }  }}

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結》、《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 含山县| 横峰县| 浦江县| 锦屏县| 南陵县| 于田县| 土默特左旗| 松溪县| 仙桃市| 洛宁县| 临夏市| 扎鲁特旗| 会东县| 湘潭市| 江阴市| 九龙城区| 吉隆县| 土默特右旗| 甘肃省| 绥芬河市| 大理市| 海兴县| 闵行区| 福建省| 清镇市| 麻阳| 乡宁县| 扶沟县| 津市市| 云南省| 高碑店市| 大洼县| 和田市| 商河县| 乌兰县| 阜城县| 榆树市| 肃南| 怀柔区| 本溪市| 广元市|