android 简单列表对话框(AlertDialog.Builder().setItems())

来源:互联网 发布:秦国灭亡知乎 编辑:程序博客网 时间:2024/06/04 19:12
 
 
android 简单列表对话框(AlertDialog.Builder().setItems()) - blubels - blubels的博客
 
android 简单列表对话框(AlertDialog.Builder().setItems()) - blubels - blubels的博客

 
android 简单列表对话框(AlertDialog.Builder().setItems()) - blubels - blubels的博客

package com.js.listdialogtest1;

 

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 ListDialogTest1 extends Activity implements 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("请选择省份");

 

        /**

         * 1public Builder setItems(int itemsId, final OnClickListener

         * listener) itemsId表示字符串数组的资源ID,该资源指定的数组会显示在列表中。 2public Builder

         * setItems(CharSequence[] items, final OnClickListener listener)

         * items表示用于显示在列表中的字符串数组

         */

        builder.setItems(provincesnew 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();

    }

}

0 0