返回顶部

收藏

Android 之 Dialog复选框获取值

更多
package com.ethan.dialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class TestDialogActivity extends Activity {
    private Button btn;
    final Context context = this;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        btn = (Button) findViewById(R.id.Button01);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showDialog5();
            }
        });
    }

    public void showDialog5() {
        // 定义复选框选项
        final String[] multiChoiceItems = { "Item1", "Item2" };
        // 复选框默认值:false=未选;true=选中 ,各自对应items[i]
        final boolean[] defaultSelectedStatus = { false, false };

        final StringBuilder sb = new StringBuilder();
        // 创建对话框
        new AlertDialog.Builder(context)
                .setTitle("复选框")
                // 设置对话框标题
                .setMultiChoiceItems(multiChoiceItems, defaultSelectedStatus,
                        new OnMultiChoiceClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which, boolean isChecked) {
                                // 来回重复选择取消,得相应去改变item对应的bool值,点击确定时,根据这个bool[],得到选择的内容
                                defaultSelectedStatus[which] = isChecked;
                            }
                        }) // 设置对话框[肯定]按钮
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        for (int i = 0; i < defaultSelectedStatus.length; i++) {
                            if (defaultSelectedStatus[i]) {
                                sb.append(multiChoiceItems[i]);
                            }
                        }
                        // TODO Auto-generated method stub
                        Toast.makeText(context, sb.toString(),
                                Toast.LENGTH_LONG).show();
                    }
                }).setNegativeButton("取消", null)// 设置对话框[否定]按钮
                .show();
    }
}
//该片段来自于http://outofmemory.cn

标签:java,手机开发

收藏

0人收藏

支持

0

反对

0

发表评论