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; } }
运行结果
来源:https://www.cnblogs.com/linjiqin/archive/2011/03/10/1980184.html