原文:http://blog.csdn.net/wljun739/article/details/37655209
點擊閱讀原文
-----------------------------------------------------------
1、activity_main.xml
- <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
- ????android:layout_width="fill_parent"??
- ????android:layout_height="fill_parent"??
- ????android:orientation="vertical">??
- ??
- ????<Button??
- ????????android:id="@+id/button1"??
- ????????android:layout_width="fill_parent"??
- ????????android:layout_height="wrap_content"??
- ????????android:text="多項選擇列表框"?/>??
- ??
- </LinearLayout>??
2、MainActivity.java類的實現
包
- import?java.util.ArrayList;??
- ??
- 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.Toast;??
類的實現
- public?class?MainActivity?extends?Activity?{??
- ????private?Button?btn1;??
- ????ArrayList<Integer>MultiChoiceID?=?new?ArrayList<Integer>();??
- ??????
- ????@Override??
- ????protected?void?onCreate(Bundle?savedInstanceState)?{??
- ????????super.onCreate(savedInstanceState);??
- ????????setContentView(R.layout.activity_main);??
- ??????????
- ????????final?String?[]?nItems?=?{"item1","item2","item3","item4","item5","item6"};??
- ??????????
- ????????btn1?=?(Button)?findViewById(R.id.button1);??
- ????????btn1.setOnClickListener(new?OnClickListener()?{??
- ??????????????
- ????????????@Override??
- ????????????public?void?onClick(View?v)?{??
- ????????????????AlertDialog.Builder?builder?=?new?AlertDialog.Builder(MainActivity.this);??
- ??????????????????
- ????????????????MultiChoiceID.clear();??
- ????????????????builder.setIcon(R.drawable.ic_launcher);??
- ????????????????builder.setTitle("多項選擇");??
- ????????????????//??設置多選項??
- ????????????????builder.setMultiChoiceItems(nItems,???
- ????????????????????????new?boolean[]{false,false,false,false,false,false},??
- ????????????????????????new?DialogInterface.OnMultiChoiceClickListener()?{??
- ??????????????????????
- ????????????????????????????@Override??
- ????????????????????????????public?void?onClick(DialogInterface?arg0,?int?arg1,?boolean?arg2)?{??
- ????????????????????????????????//?TODO?Auto-generated?method?stub??
- ????????????????????????????????if?(arg2)?{??
- ????????????????????????????????????MultiChoiceID.add(arg1);??
- ????????????????????????????????????String?tip?=?"你選擇的ID為"+arg1+",值為"+nItems[arg1];??
- ????????????????????????????????????Toast?toast?=?Toast.makeText(getApplicationContext(),?tip,?Toast.LENGTH_SHORT);??
- ????????????????????????????????????toast.show();??
- ????????????????????????????????}??
- ????????????????????????????????else?{??
- ????????????????????????????????????MultiChoiceID.remove(arg1);??
- 這個代碼有問題,會報java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
- 因為remove(int index),當int類型的生活,remove不是對象是索引對應的值了。
- ????????????????????????????????}??
- ????????????????????????????}??
- ????????????????});??
- ????????????????//??設置確定按鈕??
- ????????????????builder.setPositiveButton("確定",?new?DialogInterface.OnClickListener()?{??
- ??????????????????????
- ????????????????????@Override??
- ????????????????????public?void?onClick(DialogInterface?arg0,?int?arg1)?{??
- ????????????????????????//?TODO?Auto-generated?method?stub??
- ????????????????????????String?str?=?"";??
- ????????????????????????int?size?=?MultiChoiceID.size();??
- ????????????????????????for(int?i?=?0;?i?<?size;?i++)?{??
- ????????????????????????????str?+=?(nItems[MultiChoiceID.get(i)]+",");??
- ????????????????????????}??
- ????????????????????????Toast?toast?=?Toast.makeText(getApplicationContext(),?"你選擇了"+str,?Toast.LENGTH_LONG);??
- ????????????????????????toast.show();??
- ????????????????????}??
- ????????????????});??
- ????????????????//??設置取消按鈕??
- ????????????????builder.setNegativeButton("取消",?new?DialogInterface.OnClickListener()?{??
- ??????????????????????
- ????????????????????@Override??
- ????????????????????public?void?onClick(DialogInterface?arg0,?int?arg1)?{??
- ????????????????????????//?TODO?Auto-generated?method?stub??
- ??????????????????????????
- ????????????????????}??
- ????????????????});??
- ??????????????????
- ????????????????builder.create().show();??
- ????????????}?????????????
- ????????});??
- ????}??
- }??
3、效果圖
-------------
更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:
http://www.cnblogs.com/zengmiaogen/p/7083694.html