android 彈出多選對話框

轉自:http://blog.sina.com.cn/s/blog_78c9a0ab0100xxht.html

一、通過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)

package com.js.multichoiceitemstest;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.DialogInterface.OnMultiChoiceClickListener;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ListView;

public class MultiChoiceItemsTest extends Activity implements OnClickListener

{

    private String[] province = new String[] { "上海", "北京", "湖南", "湖北", "海南" };

    private Button btnMultiChoice;

    private ListView lv;

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

 

       btnMultiChoice = (Button) findViewById(R.id.btnMultiChoice);

       btnMultiChoice.setOnClickListener(this);

    }

 

    @Override

    public void onClick(View v)

    {

       showMultiChoiceItems();

    }

 

    private void showMultiChoiceItems()

    {

       AlertDialog builder = new AlertDialog.Builder(this)

               .setTitle("請選擇你的省份:")

               .setMultiChoiceItems(province,

                       new boolean[] { false, false, false, false, false },

                       new OnMultiChoiceClickListener()

                       {

                           @Override

                           public void onClick(DialogInterface dialog,

                                   int which, boolean isChecked)

                           {

                              // TODO Auto-generated method stub

                           }

                       })

                                  .setPositiveButton("確定",
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    //確定的響應事件
                                }
                            })
                    .setNegativeButton("取消",
                            new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog,
                                        int which) {
                                    dialog.cancel();
                                }
                            }).show();


發佈了50 篇原創文章 · 獲贊 10 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章