android学习笔记之弹出多选框
package com.meiguihuayu;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
<wbr></wbr>
public class meiguihuayu extends Activity {
<wbr>private String[] areas = newString[]{"全部","我爱你们", "你爱我们", "他爱我们", "他们爱我", "你们爱我", "什么是爱"};<br><wbr>private boolean[] areaState=new boolean[]{true,false, false, false, false, false,false };</wbr></wbr>
<wbr>private ListView areaCheckListView;</wbr>
<wbr><wbr><wbr> privateButton Button;<br><wbr><wbr><wbr><wbr>@Override<br><wbr><wbr><wbr><wbr>public void onCreate(Bundle savedInstanceState) {</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>super.onCreate(savedInstanceState);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>setContentView(R.layout.main);<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Button=(Button)findViewById(R.id.Button);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Button.setOnClickListener(new CheckBoxClickListener());</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>class AlertClickListener implements OnClickListener{</wbr></wbr></wbr></wbr>
<wbr><wbr> @Override</wbr></wbr>
<wbr><wbr> public void onClick(View v){</wbr></wbr>
<wbr><wbr><wbr> newAlertDialog.Builder(meiguihuayu.this).setTitle("选择区域").setItems(areas,newDialogInterface.OnClickListener(){</wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>public void onClick(DialogInterface dialog, int which){</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>Toast.makeText(meiguihuayu.this, "您已经选择了: " + which + ":" +areas[which],Toast.LENGTH_LONG).show();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>dialog.dismiss();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>}).show();</wbr></wbr></wbr>
<wbr><wbr> }</wbr></wbr>
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>class CheckBoxClickListener implements OnClickListener{</wbr></wbr></wbr></wbr>
<wbr><wbr> @Override</wbr></wbr>
<wbr><wbr> public void onClick(View v){</wbr></wbr>
<wbr><wbr><wbr>AlertDialog ad = new AlertDialog.Builder(meiguihuayu.this)</wbr></wbr></wbr>
<wbr><wbr><wbr>.setTitle("选择区域")</wbr></wbr></wbr>
<wbr><wbr><wbr>.setMultiChoiceItems(areas,areaState,newDialogInterface.OnMultiChoiceClickListen<wbr>er(){</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>public void onClick(DialogInterface dialog,int whichButton, booleanisChecked){</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>//点击某个区域</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>}).setPositiveButton("确定",newDialogInterface.OnClickListener(){</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>public void onClick(DialogInterface dialog,int whichButton){</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>String s = "您选择了:";</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>for (int i = 0; i < areas.length; i++){</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if (areaCheckListView.getCheckedItemPositions().get(i)){</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>s += i + ":"+ areaCheckListView.getAdapter().getItem(i)+"<wbr> ";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>areaCheckListView.getCheckedItemPositions().get(i,false);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>if (areaCheckListView.getCheckedItemPositions().size()> 0){</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>Toast.makeText(meiguihuayu.this, s, Toast.LENGTH_LONG).show();</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else{</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>//没有选择</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>dialog.dismiss();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>}).setNegativeButton("取消", null).create();</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>areaCheckListView = ad.getListView();</wbr></wbr></wbr>
<wbr><wbr><wbr>ad.show();</wbr></wbr></wbr>
<wbr><wbr> }</wbr></wbr>
<wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr>
}<wbr><wbr></wbr></wbr>
<wbr></wbr>
XML代码:
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<wbr><wbr><wbr>android:orientation="vertical"</wbr></wbr></wbr>
<wbr><wbr><wbr>android:layout_width="fill_parent"</wbr></wbr></wbr>
<wbr><wbr><wbr>android:layout_height="fill_parent"</wbr></wbr></wbr>
<wbr><wbr><wbr>><br> <Button</wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:id="@+id/Button"</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:layout_width="wrap_content"</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:layout_height="wrap_content"</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:text="多选"</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
/>
</LinearLayout>
转:http://blog.sina.com.cn/s/blog_4ac183220100w4e8.html