1.建立项目,在res/values目录下的strings.xml中添加代码
Sample_6_6 Settings MainActivity3 显示多选列表对话框 确定 多选列表对话框
2.在res/values目录下新建一个array.xml文件,添加如下代码
- 游泳
- 打篮球
- 写Java程序
3.在layout目录下的布局文件改成如下代码
4.接下来就开发主程序的代码啦,如下
package com.example.sample_6_6;import android.app.Activity;import android.app.AlertDialog.Builder;import android.app.Dialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity3 extends Activity{ final int LIST_DIALOG_MULTIPLE = 1; boolean[] mulFlag = new boolean[] { true, false, true };// 初始化复选情况 String[] items = null;// 选项数组 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); items = getResources().getStringArray(R.array.msa);// 获得xml文件中的字符串数组 Button btn = (Button) findViewById(R.id.Button01); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { showDialog(LIST_DIALOG_MULTIPLE); } }); } protected Dialog onCreateDialog(int id) { Dialog dialog = null; switch (id) { case LIST_DIALOG_MULTIPLE: Builder b = new Builder(this); b.setIcon(android.R.drawable.alert_dark_frame);//android.R是调用系统里的资源 b.setTitle(R.string.title); b.setMultiChoiceItems(R.array.msa, mulFlag, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { String result = "您选择了: "; mulFlag[which] = isChecked;//设置选中标志位 for (int i = 0; i < mulFlag.length; i++) { if (mulFlag[i])// 如果该选项被选中 result = result + items[i] + "、"; } EditText et = (EditText) findViewById(R.id.EditText01); // et.setText(getResources().getStringArray(R.array.msa)[which]); et.setText(result.substring(0, result.length() - 1));// 设置EditText显示的内容 } }); dialog = b.create(); break; default: break; } return dialog; } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }}
5.程序运行图如下