版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、Android小目之-ListView實現(xiàn)論壇管理效果(附源礁)本帖最后由 terryyhl 于 2010-6-518:03 編輯在 android 系統(tǒng)中,ListView 的用法稍微褪親隹一黑占,配置 Adpater 就有黑槿方法,如 ArrayAdapter,SimpleAdapter 等。查了一些區(qū)周上的相信制例子,有很多都是用 ListActivity,然彳爰用 Adapter 來 U 示布局。本例中 8E 有用到ListActivity。ListView 是在 android 中是一(0常用到的控件,ListView 裹面的每(0子Item 可以使用一他字符串,也可以是一他黜合控件
2、,下面是本例符要的功能消罩:1 .WListView 要 K 示的數(shù) at,使用一雉或多雉勤熊數(shù)黜保存數(shù) at;2 .情建逾配器,逾配器就是 Item 數(shù)黜,勤熊數(shù)黜有多少元素就生成多少(0Item;3 .把逾配器添加到 ListView,并 U 示出來;4 .在 ListView 的 Item 添加 CheckBox 并可以就行罩擎事件,鼓:置罩擎事件,的 ItemU 示封 J#Item 的數(shù) St,通遺 getChildAt(0)找控件;5 .按后彈出 menu 撲舌框效果;本文所的 ListView 如下:http:/ ListView 的 Item 檬式 xml 文件如下:UI 代礁如
3、下:viewsourceprint?文章0And21d小璃目。文章1Andmd小瑁目1文章2Android小i獸目2文章3Android小蹊目3文章4Android小I同目4文章5Android小信自5文章6伽黠量了第21g的文克2Android文章7Android小10目701LinearLayoutxmlns:android=ListView 辭黜愿用viewsourceprint?010708141519202425到適一步,K 便解答上面第 4Um:如何 IS 置在 ListView 中調(diào)曲 CheckBox 之后遢可以就行覃擎或 U 按事件,在 Android 中 CheckBox
4、的黑占擎事件便先級比 ListView 高,常 JC 面一加載畤,11r默 SS 聚焦在 CheckBox 上,懸了防止道他!冏題出來,我伸號要在 Android 的控件上的 JS 性加上 Bool 值:android:focusable=false最后就是 Java 源代礁,之后我再一一解答上面的所有冏題:1.2. packagecn.terry;3. importjava.util.ArrayList;4. importjava.util.HashMap;5. importandroid.app.Activity;6. importandroid.os.Bundle;7. importan
5、droid.view.ContextMenu;8. importandroid.view.MenuItem;9. importandroid.view.View;022210.importandroid.view.ContextMenu.ContextMenuInfo;11.importandroid.view.View.OnCreateContextMenuListener;12.importandroid.widget.*;1.1 importandroid.widget.AdapterView.OnItemClickListener;1.publicclasstestListViewAc
6、itivityextendsActivity2.privateListViewmyListView;3./*Calledwhentheactivityisfirstcreated.*/4.Override5.publicvoidonCreate(BundlesavedInstanceState)6.super.onCreate(savedInstanceState);7.setContentView(R.layout.main);8.myListView=(ListView)findViewById(R.id.ListView01);9.10. ArrayListHashMaplistitem
7、=newArrayListHashMap();11.12. for(inti=0;i10;i+)13. 14. HashMapmap=newHashMap();15. map.put(ItemTitle,文章+i);16. map.put(ItemText,Android 小目+i);17. listitem.add(map);18. 19.20. SimpleAdapterlistitemAdapter=newSimpleAdapter(this,/上下文21. listitem,/數(shù) St22. R.layout.listview_style,/listItem 的 xmlK琪23. ne
8、wStringItemTitle,ItemText,/彳能map 的批定Key24. newintR.id.topTextView,R.id.bottomTextView/到要的控件上25. );26.27. myListView.setAdapter(listitemAdapter);28.29. myListView.setOnItemClickListener(newOnItemClickListener()30. Override31. publicvoidonItemClick(AdapterViewarg0,Viewarg1,intarg2,32. longarg3)33.34.3
9、5. /TODOAuto-generatedmethodstub36. RelativeLayoutlr=(RelativeLayout)arg1;37. TextViewmText=(TextView)lr.getChildAt(1);38. Toast.makeText(testListViewAcitivity.this,你黑占擎了第+arg2+的+mText.getText().toString(),39. 1000).show();3.44. 45. );46. myListView.setOnCreateContextMenuListener(newOnCrea
10、teContextMenuListener()47.48. Override49. publicvoidonCreateContextMenu(ContextMenumenu,Viewv,50. ContextMenuInfomenuInfo)51. /TODOAuto-generatedmethodstub52.53. ListViewlr=(ListView)v;54. RelativeLayoutmyte=(RelativeLayout)lr.getChildAt(0);55. TextViewdd=(TextView)myte.getChildAt(1);56. menu.setHea
11、derIcon(R.drawable.icon);57. menu.setHeaderTitle(dd.getText().toString();58. menu.add(1,0,0,高亮)59. menu.add(0,1,0,置 IB);60. 61. );62.63. 64. Override65. publicbooleanonContextItemSelected(MenuItemitem)66. /TODOAuto-generatedmethodstub67. StringTemp=;68. switch(item.getltemld()69. case0:70. Temp=高亮;7
12、1. break;72. case1:73. Temp=置 IB;74. break;75. default:76. break;77. 78. Toast.makeText(this,Temp+慮理,1000).show();79. returnsuper.onContextItemSelected(item);80. 4. 復制代碼.WListView 要 18 示的數(shù) at,使用一雉或多雉勤熊數(shù)黜保存數(shù) at;.情建逾配器,逾配器就是 Item 數(shù)黜,勤熊數(shù)黜有多少元素就生成多少(0Item;.把逾配器添加到 ListView,并 U 示出來;.在 ListView
13、的 Item 添加 CheckBox 并可以就行罩擎事件,鼓:置罩擎事件,的 ItemU 示 item 的數(shù) St,通遺 getChildAt(0)找控件;.按后彈出 Menu 掙舌框效果;解答:ListView 要 K 示的數(shù)摞,使用泛型可以方便我伸厘寸數(shù)摞的取舍,使用HashMap,是懸了得到 key和value之后可以通遺key去鼓:置ListView各控件的值卡中我伸號用到的代碼如下:0e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a50ArrayListHashMaplistitem=newArrayListHashMap(
14、);0e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a500e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a50for(inti=0;i10;i+)0e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a500e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a50HashMapmap=newHashMap();0e2cce7e80d-Numbered_a90638e
15、f-4a17-43ba-8636-b4c3b4ce2a50map.put(ItemTitle,文章+i);0e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a50map.put(ItemText,Android 小目+i);0e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a50listitem.add(map);0e2cce7e80d-Numbered_a90638ef-4a17-43ba-8636-b4c3b4ce2a50復制代碼ListView 支持多槿逾配器哪援如:Sim
16、pleAdapter 和 ArrayAdapter,本例使用的是 SimpleAdapter,先看看 simpleAdapter 參數(shù)列表,昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀挀愀挀 一甀洀戀攀爀攀攙開 51118533313愀攀挀 ndroid.widget.SimpleAdapter.SimpleAdapter(Contextcontext,List?extendsMapdata,intresource,Stringfrom,intto)復制代碼參數(shù)一:上下文,即可以理解懸本 I;參數(shù)二:支持的數(shù) St 源,如我伸號上
17、文定羲好的ArrayListHashMap;三:Item 的 xmlU 垣,上遏我伸號建立了 ListView 的 Item 檬式 XML用法如:R.layout.listview_style參數(shù)四:字符數(shù)黜,大致意思可以適檬理解,就是“攏哪里來”,上文我伸號通謾鼓;置 HashMapWlft 值,可以通謾如下方式:newStringItemTitle,ItemText,參數(shù)五:整形教黜,大致意思引用參數(shù)四可以迨檬理解,“優(yōu)哪未里來,到哪里去”通遇事先 from 的 it 值 to 某(0 控件如:newintR.id.topTextView,R.id.bottomTextView件綁定數(shù)黜要
18、奧參數(shù)四一一 WB;代礁如下:昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀挀愀挀 一甀洀戀攀爀攀攙開 51118543313愀攀挀 impleAdapterlistitemAdapter=newSimpleAdapter(this,/上下文昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀挀愀挀 一甀洀戀攀爀攀攙開 51118553313愀攀挀 istitem,/數(shù)摞昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀
19、挀愀挀 一甀洀戀攀爀攀攙開 51118563313愀攀挀 .layout.listview_style,/listItem 的 xml昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀挀愀挀 一甀洀戀攀爀攀攙開ewStringItemTitle,ItemText,優(yōu) map 的批定 Key昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀挀愀挀 一甀洀戀攀爀攀攙開 51118583313愀攀挀 ewintR.id.topTextView,R.id.bottomTextView/到
20、要 URI 的控件上昀 一甀洀戀攀爀攀攙開攀攀戀 愀 昀 戀攀戀 愀愀昀昀 一甀洀戀攀爀攀攙開攙挀攙攙挀挀昀 愀攀 戀 戀挀 昀挀愀挀 一甀洀戀攀爀攀攙開 51118593313愀攀挀 ;復制代碼.己SimpleAdapter 鼓:置好數(shù)黜了。琪在就到了把 SimpleAdapter 送到 ListView 身上就可以,代礁如下:myListView.setAdapter(listitemAdapter);,注意,道里參數(shù)五的控復制代碼.代礁曾罩,不需要謾多解釋;覃擎后如何找到封鷹的呢?通謾蕭勤定位到我伸號事先定羲好的檄式 xml 文件,setOnItemClickListener 自帶的事件
21、參數(shù)之后我伸號可以做我伸號想做的事,通謾 getChildAt()的下襟參數(shù)定位控件,然彳爰樽換成需要的可用控件,再取值或賦值,代碼如下:myListView.setOnItemClickListener(newOnItemClickListener()OverridepublicvoidonItemClick(AdapterViewarg0,Viewarg1,intarg2,longarg3)/TODOAuto-generatedmethodstubRelativeLayoutlr=(RelativeLayout)arg1;TextViewmText=(TextView)lr.getChil
22、dAt(1);Toast.makeText(testListViewAcitivity.this,你黑占擎了第+arg2+的+mText.getText().toString(),1000).show(););復制代碼5.II 按 U 示!I 撲舌本 1 的事件懸:setOnCreateContextMenuListener,事件 Hvoidcn.terry.testListViewAcitivity.onCreate(.).新建OnCreateContextMenuListener().onCreateContextMenu(ContextMenumenu,Viewv,ContextMenu
23、InfomenuInfo)指定:OnCreateContextMenuListener 中的 onCreateContextMenu(.)publicabstractvoidonCreateContextMenu(ContextMenumenu,Viewv,ContextMenu.ContextMenuInfomenuInfo)Since:APILevel1ListView 的罩擎事件曾自之后我伸號要做的就是通謾View 把封的控件找出來,Calledwhenthecontextmenuforthisviewisbeingbuilt.Itisnotsafetoholdontothemenuafterthismethodreturns.ParametersmenuThecontextmenuthatisbeingbuiltvTheviewforwhichthecontextmenuisbeingbuiltll.menulnfoExtrainformationabouttheitemforwhichthecontextmenush
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024學校實驗室設備更新及維修服務合同3篇
- 2024店鋪轉(zhuǎn)讓協(xié)議書
- 2024模具智能制造技術(shù)研發(fā)合同
- 2024標準版兩居室房車短期租賃合同版
- 2024服裝工裝定制合同
- 2024青島運動會官方用車租賃服務協(xié)議3篇
- 2024年行車設備安裝與維護合同3篇
- 2024年版城市供水項目特許經(jīng)營權(quán)協(xié)議
- 2024運營總監(jiān)國際業(yè)務拓展與跨國合作合同3篇
- 2025年度網(wǎng)絡安全技術(shù)股權(quán)合作與轉(zhuǎn)讓合同3篇
- 標桿房企人力資源體系研究之龍湖
- 規(guī)則大副貨運知識點
- 《2022年上海市初中語文課程終結(jié)性評價指南》中規(guī)定的150個文言實詞
- 關(guān)于轉(zhuǎn)發(fā)《關(guān)于進一步加強少先隊輔導員隊伍建設的若干意見》的通知
- 愛麗絲夢游仙境話劇中英文劇本(共6頁)
- 書法少年宮活動記錄
- 醫(yī)療設備報廢申請表
- CAD快速看圖破解安裝步驟
- 鐵路橋梁鋼結(jié)構(gòu)設計規(guī)范(TB100022--99)修訂簡介
- 水文氣象報告
- 應急資金投入保障機制
評論
0/150
提交評論