点击按钮之后弹出多选框,并将选择的值用对话框弹出

在前面定义这两个数组:

    private String[] item = new String[] { "住宅区", "商业区", "餐饮区", "工作区", "夜市区","其他区" };
    boolean[] selected = new boolean[] { false, false, false, false, false,false };

 

在    protected void onCreate(Bundle savedInstanceState)函数里面实现如下代码

checkBt = (Button) findViewById(R.id.btnCheck);
        checkBt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("搜索框");
                DialogInterface.OnMultiChoiceClickListener mutiListener = new DialogInterface.OnMultiChoiceClickListener() {

                    @Override
                    public void onClick(DialogInterface dialogInterface,
                            int which, boolean isChecked) {
                        selected[which] = isChecked;
                    }
                };
                builder.setMultiChoiceItems(item, selected, mutiListener);
                DialogInterface.OnClickListener btnListener = new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface,
                            int which) {
                        String selectedStr = "";
                        int count = 0;
                        for (int i = 0; i < selected.length; i++) {
                            if (selected[i] == true) {
                                selectedStr = selectedStr + " " + item[i];
                                count = count + 1;
                            }
                        }
                        if(count != 0)
                            new AlertDialog.Builder(MainActivity.this).setMessage(selectedStr).show();
                        else
                            new AlertDialog.Builder(MainActivity.this).setMessage("你未选择任何选项!").show();
                    }
                };
                builder.setPositiveButton("确定", btnListener);
                builder.setNegativeButton("取消", null);
                AlertDialog dialog=builder.create();
                dialog.show();
            }
        });

 

运行结果:

  1. 选定住宅区和其他区

 

2.点击确定之后的页面

 

posted @ 2013-05-15 11:06  南飞的心  阅读(848)  评论(0编辑  收藏  举报