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

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

2012-10-11 10:30 531 查看






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