您的位置:首页 > 产品设计 > UI/UE

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

2016-12-02 14:51 561 查看
 

 



 



 



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("请选择省份");
 
        /**
         * 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();
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: