本文主要介绍了 android中列表选项,单项选项,多项选型对话框的使用,其使用方法的代码如下:
- package com.demo.lc;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Button;
- import android.widget.Toast;
- public class DialogExercise extends Activity implements OnClickListener {
- private Button btn_item, btn_singleitem, btn_mutiplyitem;
- private String[] str = new String[5];
- private AlertDialog mDialog = null;
- private int mSelectedItem = 0;
- private boolean[] init = new boolean[] { false, true, false, false, false };
- private boolean[] mtemp = new boolean[5];
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- super.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- this.requestWindowFeature(Window.FEATURE_NO_TITLE);
- super.setContentView(R.layout.main);
- for (int i = 0; i < 5; i++) {
- str[i] = "item" + i;
- }
- for (int i = 0; i < init.length; i++) {
- mtemp[i] = init[i];
- }
- System.out.println(mtemp == init);
- this.btn_item = (Button) super.findViewById(R.id.btn_item);
- this.btn_singleitem = (Button) super.findViewById(R.id.btn_singleitem);
- this.btn_mutiplyitem = (Button) super.findViewById(R.id.btn_mutilitem);
- this.btn_item.setOnClickListener(this);
- this.btn_singleitem.setOnClickListener(this);
- this.btn_mutiplyitem.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- if (v == this.btn_item) {
- this.mDialog = new AlertDialog.Builder(this)
- .setTitle("列表选项")
- .setIcon(android.R.drawable.ic_dialog_alert)
- .setItems(str, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- DialogExercise.this.mSelectedItem = which;
- }
- })
- .setPositiveButton("确定",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- System.out.println("PositiveButton= "
- + which);
- Toast.makeText(DialogExercise.this,
- "您选择的是" + str[mSelectedItem], 100)
- .show();
- }
- })
- .setNegativeButton("取消",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- System.out.println("NegativeButton= "
- + which);
- dialog.dismiss();
- }
- }).create();
- this.mDialog.show();
- } else if (v == this.btn_singleitem) {
- this.mDialog = new AlertDialog.Builder(this)
- .setTitle("单项选择")
- .setIcon(android.R.drawable.ic_dialog_alert)
- .setSingleChoiceItems(str, 2,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- DialogExercise.this.mSelectedItem = which;
- }
- })
- .setPositiveButton("确定",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- System.out.println("PositiveButton= "
- + which);
- Toast.makeText(DialogExercise.this,
- "您选择的是" + str[mSelectedItem], 100)
- .show();
- }
- })
- .setNegativeButton("取消",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- System.out.println("NegativeButton= "
- + which);
- dialog.dismiss();
- }
- }).create();
- this.mDialog.show();
- } else if (v == this.btn_mutiplyitem) {
- this.mDialog = new AlertDialog.Builder(this)
- .setTitle("多项选择")
- .setIcon(android.R.drawable.ic_dialog_alert)
- .setMultiChoiceItems(str, init,
- new DialogInterface.OnMultiChoiceClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which, boolean isChecked) {
- }
- })
- .setPositiveButton("确定",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- System.out.println("PositiveButton= "
- + which);
- String temp = " ";
- for (int i = 0; i < init.length; i++) {
- if (init[i]) {
- temp += str[i] + ", ";
- }
- }
- Toast.makeText(DialogExercise.this,
- "您选择的是" + temp, 100).show();
- for (int i = 0; i < init.length; i++) {
- init[i] = mtemp[i];
- }
- }
- })
- .setNegativeButton("取消",
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,
- int which) {
- System.out.println("NegativeButton= "
- + which);
- dialog.dismiss();
- }
- }).create();
- this.mDialog.show();
- }
- }
- }
效果如下:
当选择单项列表框时的截图:
单击确定后的效果如下:
当选择多项列表框时的截图:
点击确定后的效果如下: