Android 多選列表

原文:http://blog.csdn.net/wljun739/article/details/37655209

點擊閱讀原文

-----------------------------------------------------------

1、activity_main.xml

[java]?view plaincopy
  1. <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  2. ????android:layout_width="fill_parent"??
  3. ????android:layout_height="fill_parent"??
  4. ????android:orientation="vertical">??
  5. ??
  6. ????<Button??
  7. ????????android:id="@+id/button1"??
  8. ????????android:layout_width="fill_parent"??
  9. ????????android:layout_height="wrap_content"??
  10. ????????android:text="多項選擇列表框"?/>??
  11. ??
  12. </LinearLayout>??

2、MainActivity.java類的實現

[java]?view plaincopy
  1. import?java.util.ArrayList;??
  2. ??
  3. import?android.app.Activity;??
  4. import?android.app.AlertDialog;??
  5. import?android.content.DialogInterface;??
  6. import?android.os.Bundle;??
  7. import?android.view.View;??
  8. import?android.view.View.OnClickListener;??
  9. import?android.widget.Button;??
  10. import?android.widget.Toast;??

類的實現

[java]?view plaincopy
  1. public?class?MainActivity?extends?Activity?{??
  2. ????private?Button?btn1;??
  3. ????ArrayList<Integer>MultiChoiceID?=?new?ArrayList<Integer>();??
  4. ??????
  5. ????@Override??
  6. ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  7. ????????super.onCreate(savedInstanceState);??
  8. ????????setContentView(R.layout.activity_main);??
  9. ??????????
  10. ????????final?String?[]?nItems?=?{"item1","item2","item3","item4","item5","item6"};??
  11. ??????????
  12. ????????btn1?=?(Button)?findViewById(R.id.button1);??
  13. ????????btn1.setOnClickListener(new?OnClickListener()?{??
  14. ??????????????
  15. ????????????@Override??
  16. ????????????public?void?onClick(View?v)?{??
  17. ????????????????AlertDialog.Builder?builder?=?new?AlertDialog.Builder(MainActivity.this);??
  18. ??????????????????
  19. ????????????????MultiChoiceID.clear();??
  20. ????????????????builder.setIcon(R.drawable.ic_launcher);??
  21. ????????????????builder.setTitle("多項選擇");??
  22. ????????????????//??設置多選項??
  23. ????????????????builder.setMultiChoiceItems(nItems,???
  24. ????????????????????????new?boolean[]{false,false,false,false,false,false},??
  25. ????????????????????????new?DialogInterface.OnMultiChoiceClickListener()?{??
  26. ??????????????????????
  27. ????????????????????????????@Override??
  28. ????????????????????????????public?void?onClick(DialogInterface?arg0,?int?arg1,?boolean?arg2)?{??
  29. ????????????????????????????????//?TODO?Auto-generated?method?stub??
  30. ????????????????????????????????if?(arg2)?{??
  31. ????????????????????????????????????MultiChoiceID.add(arg1);??
  32. ????????????????????????????????????String?tip?=?"你選擇的ID為"+arg1+",值為"+nItems[arg1];??
  33. ????????????????????????????????????Toast?toast?=?Toast.makeText(getApplicationContext(),?tip,?Toast.LENGTH_SHORT);??
  34. ????????????????????????????????????toast.show();??
  35. ????????????????????????????????}??
  36. ????????????????????????????????else?{??
  37. ????????????????????????????????????MultiChoiceID.remove(arg1);??
  38. 這個代碼有問題,會報java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
  39. 因為remove(int index),當int類型的生活,remove不是對象是索引對應的值了。
  40. ????????????????????????????????}??
  41. ????????????????????????????}??
  42. ????????????????});??
  43. ????????????????//??設置確定按鈕??
  44. ????????????????builder.setPositiveButton("確定",?new?DialogInterface.OnClickListener()?{??
  45. ??????????????????????
  46. ????????????????????@Override??
  47. ????????????????????public?void?onClick(DialogInterface?arg0,?int?arg1)?{??
  48. ????????????????????????//?TODO?Auto-generated?method?stub??
  49. ????????????????????????String?str?=?"";??
  50. ????????????????????????int?size?=?MultiChoiceID.size();??
  51. ????????????????????????for(int?i?=?0;?i?<?size;?i++)?{??
  52. ????????????????????????????str?+=?(nItems[MultiChoiceID.get(i)]+",");??
  53. ????????????????????????}??
  54. ????????????????????????Toast?toast?=?Toast.makeText(getApplicationContext(),?"你選擇了"+str,?Toast.LENGTH_LONG);??
  55. ????????????????????????toast.show();??
  56. ????????????????????}??
  57. ????????????????});??
  58. ????????????????//??設置取消按鈕??
  59. ????????????????builder.setNegativeButton("取消",?new?DialogInterface.OnClickListener()?{??
  60. ??????????????????????
  61. ????????????????????@Override??
  62. ????????????????????public?void?onClick(DialogInterface?arg0,?int?arg1)?{??
  63. ????????????????????????//?TODO?Auto-generated?method?stub??
  64. ??????????????????????????
  65. ????????????????????}??
  66. ????????????????});??
  67. ??????????????????
  68. ????????????????builder.create().show();??
  69. ????????????}?????????????
  70. ????????});??
  71. ????}??
  72. }??

3、效果圖

效果圖



-------------

更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538826.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538826.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538826.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python自帶的編輯器怎么換行_Python3基礎 print 自帶換行功能

鎮場詩&#xff1a; ———大夢誰覺&#xff0c;水月中建博客。百千磨難&#xff0c;才知世事無常。 ———今持佛語&#xff0c;技術無量愿學。愿盡所學&#xff0c;鑄一良心博客。 —————————————————————————————————————————— 1 …

查看db2數據庫名linux,【名說】DB2數據庫備份與恢復(linux環境)

lslinux 下備份db2數據庫1.SSH方式&#xff1a;登錄db2數據庫(因為是linux環境 &#xff0c; putty就不錯)2.進入備份文件夾&#xff1a;cd /home/backup/db2 list application | grep 數據庫名//(可能會有一些連接進程&#xff0c;有則全部殺掉)//殺進程&#xff1a;db2 "…

leetcode 回文數

2019獨角獸企業重金招聘Python工程師標準>>> 判斷一個整數是否是回文數。回文數是指正序&#xff08;從左向右&#xff09;和倒序&#xff08;從右向左&#xff09;讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右…

安裝ae顯示安裝程序無法初始化_adobe CC 2015/2017安裝失敗(adobe cc安裝不了的解決辦法)...

adobe CC 2015/2017安裝失敗(adobe cc安裝不了的解決辦法)書法字體2015.06.18Adobe Application ManagerAdobe Creative Cloud 2015/2017全系統軟件已經可以從官網下載了&#xff0c;相信又將有一大波設計師會更新安裝adobe CC 2015/2017軟件。本著嘗鮮的精神&#xff0c;本人也…

Hadoop控制輸出文件命名

原文地址&#xff1a;http://blog.csdn.net/zuochanxiaoheshang/article/details/8769198 點擊閱讀原文 --------------------------------------------------- Hadoop 控制輸出文件命名 在一般情況下&#xff0c;Hadoop 每一個 Reducer 產生一個輸出文件&#xff0c;文件以 …

office高級應用與python綜合案例教程_office高級應用與python綜合案例實驗指導--詳細介紹...

隨著社會經濟的發展&#xff0c;現代信息技術逐漸改變著人們的工作和生活方式。為使學生掌握辦公自動化軟件高級應用的技能&#xff0c;了解Python程序基礎知識&#xff0c;綜合運用辦公自動化軟件分析和解決實際問題&#xff0c;編者編寫了本書。 本書圍繞高等學校培養應用型人…

linux系統的安全機制有哪些內容,系統安全機制

AG351.SELINUXSElinux 是一個強制訪問控制系統,它為每個進程與文件都打上一個安全上下文標簽,而 selinux 通過這個標簽對系統訪問控制進行管理。2.針對車載產品對于啟動安全、平臺運行安全、通信安全三個主要領域有著特 殊 很 高 的 要 求 , 為 此 Quectel 結 合 了 Qualcomm 給…

移動端video播放時不彈出頁面層

移動端視頻在播放時會主動彈出頁面&#xff0c;有的瀏覽器不會。對那些會的瀏覽器進行處理&#xff1a; 直接加上下面三個屬性即可&#xff0c;兼容方面就不說了&#xff0c;微信上是很ok的。 <video x5-playsinline"" playsinline"" webkit-playsinlin…

1.計算機語言發展史

第一代 計算機語言 第二代 匯編語言 第三代 高級語言 面向過程&#xff1a;c&#xff0c;fortan&#xff0c;cobol&#xff0c;pascal&#xff0c;ada 面向對象&#xff1a;c&#xff0c;java&#xff0c;c# 計算機語言&#xff1a; 01010100010111000 010101010000 00…

定題信息服務是從什么角度_信息管理練習題2

1.文件的目錄結構是網頁在服務器上的存放狀況。(對)2、網絡信息指引庫存放的是有關主題的數據庫或服務器地址。(對)3、數據庫組織方式是將超文本與多媒體技術結合起來的組織方式。(錯)4、按信息的組織方式劃分&#xff0c;搜索引擎則可以分為目錄式搜索引擎(Yahoo)、索引式搜索…

python判斷是否為完全數_Python識別完美數

完美數 完美數(perfect number&#xff0c;又稱完全數)指&#xff0c;它所有的真因子(即除了自身以外的因子)和&#xff0c;恰好等于它自身。 第一個完美數&#xff1a;6&#xff0c; 第二個完美數&#xff1a;28&#xff0c; 第三個完美數&#xff1a;496&#xff0c; 第四個完…

linux嵌入式做智能家居,嵌入式系統在智能家居中的應用

汪家樂利用嵌入式系統來構建智能家居系統&#xff0c;使得用戶可以根據實際需求來進行操作&#xff0c;不僅可以提高生活水平&#xff0c;并且與其他系統相比&#xff0c;其在運行上具有更高的穩定性。本文對嵌入式系統在智能家居中應用要點進行了簡單分析。【關鍵詞】嵌入式系…

前端路由的兩種實現原理

2019獨角獸企業重金招聘Python工程師標準>>> History API 這里不細說每一個 API 的用法&#xff0c;大家可以看 MDN 的文檔&#xff1a;https://developer.mozilla.org... 重點說其中的兩個新增的API history.pushState 和 history.replaceState 這兩個 API 都接收三…

2.JAVA簡史

SUN公司 --美國SUN&#xff08;Stanford university network&#xff09;公司 --在中國大陸的正式中文名&#xff1a;太陽計算機系統&#xff08;中國&#xff09;有限公司 --在中國臺灣中文名&#xff1a;升陽電腦公司 JAVA為什么被發明&#xff1f; --是sun公司Green項目…

es統計有多少個分組_ES 24 - 如何通過Elasticsearch進行聚合檢索 (分組統計)

1 普通聚合分析1.1 直接聚合統計(1) 計算每個tag下的文檔數量, 請求語法:GET book_shop/it_book/_search{"size": 0, // 不顯示命中(hits)的所有文檔信息"aggs": {"group_by_tags": {// 聚合結果的名稱, 需要自定義(復制時請去掉此注釋)"te…

python程序運行原理_談談 Python 程序的運行原理

因為我的個人網站 restran.net 已經啟用&#xff0c;博客園的內容已經不再更新。請訪問我的個人網站獲取這篇文章的最新內容&#xff0c;談談 Python 程序的運行原理 這篇文章準確說是『Python 源碼剖析』的讀書筆記&#xff0c;整理完之后才發現很長&#xff0c;那就將就看吧。…

3.JDK和JRE和JVM的區別

JDK --Java Development Kit --java 開發工具包 JRE --Java Runtime Environment --java運行時環境 JVM --Java Virtual Machine --java虛擬機 ------------- 更多的Java&#xff0c;Angular&#xff0c;Android&#xff0c;大數據&#xff0c;J2EE&#xff0c;Python…

緩存cache

由于Django是動態網站&#xff0c;所有每次請求均會去數據進行相應的操作&#xff0c;當程序訪問量大時&#xff0c;耗時必然會更加明顯&#xff0c;最簡單解決方式是使用&#xff1a;緩存&#xff0c;緩存將一個某個views的返回值保存至內存或者memcache中&#xff0c;5分鐘內…

微信小程序 等待幾秒、_微信小程序—setTimeout定時器的坑

背景實驗室需要將項目的app搬到微信的小程序上&#xff0c;終于知道為什么程序員是手藝人了&#xff0c;只要有需求&#xff0c;就要想方設法去填充這種需求&#xff0c;去年是小程序的元年了可以說&#xff0c;去年冬天一個叫跳一跳的小程序游戲出現在我的微信中&#xff0c;當…

linux中斷處理模式,Linux在保護模式下的中斷處理分析.pdf

Linux在保護模式下的中斷處理分析.pdfLinux 在保護模式下的中斷處理分析劉萬里 楊 斌(西南交通大學計算機與通信工程學院&#xff0c;成都 610031)E-mail&#xff1a;awan摘 要 該文以 80x86 保護模式下的中斷處理方法為基礎&#xff0c;針對 Linux 在實時嵌入式系統中的具體應…