Android之复选框对话框

只愿长相守 提交于 2020-03-16 09:17:28

main.xml布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="fill_parent"    android:layout_height="fill_parent">    <EditText android:text=""         android:id="@+id/editText"        android:layout_width="fill_parent"        android:layout_height="wrap_content"         android:editable="false"        android:cursorVisible="false" />    <Button android:text="显示复选框对话框"         android:id="@+id/button"        android:layout_width="fill_parent"        android:layout_height="wrap_content" /></LinearLayout>

array.xml数组

<?xml version="1.0" encoding="utf-8"?><resources>  <string-array name="hobby">             <item>游泳</item>                 <item>打篮球</item>                 <item>登山</item>          </string-array></resources>

AlertActivity类

package com.ljq.dialog;import android.app.Activity;import android.app.Dialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class AlertDialog extends Activity {    private EditText editText;    private final static int DIALOG=1;    boolean[] flags=new boolean[]{false,false,false};//初始复选情况    String[] items=null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        items=getResources().getStringArray(R.array.hobby);        editText=(EditText)findViewById(R.id.editText);        Button button = (Button) findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {            public void onClick(View v) {                // 显示对话框                showDialog(DIALOG);            }        });    }        /**     * 创建复选框对话框     */    @Override    protected Dialog onCreateDialog(int id) {        Dialog dialog=null;        switch (id) {        case DIALOG:            Builder builder=new android.app.AlertDialog.Builder(this);            //设置对话框的图标            builder.setIcon(R.drawable.header);            //设置对话框的标题            builder.setTitle("复选框对话框");            builder.setMultiChoiceItems(R.array.hobby, flags, new DialogInterface.OnMultiChoiceClickListener(){                public void onClick(DialogInterface dialog, int which, boolean isChecked) {                    flags[which]=isChecked;                    String result = "您选择了:";                    for (int i = 0; i < flags.length; i++) {                        if(flags[i]){                            result=result+items[i]+"、";                        }                    }                    editText.setText(result.substring(0, result.length()-1));                }            });                        //添加一个确定按钮            builder.setPositiveButton(" 确 定 ", new DialogInterface.OnClickListener(){                public void onClick(DialogInterface dialog, int which) {                                    }            });            //创建一个复选框对话框            dialog=builder.create();            break;        }        return dialog;    }    }

运行结果

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!