ListView实现

上传人:碎****木 文档编号:220861986 上传时间:2021-12-09 格式:DOCX 页数:11 大小:85.23KB
返回 下载 相关 举报
ListView实现_第1页
第1页 / 共11页
ListView实现_第2页
第2页 / 共11页
ListView实现_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ListView实现》由会员分享,可在线阅读,更多相关《ListView实现(11页珍藏版)》请在金锄头文库上搜索。

1、Android 小項目之-ListView 实现论坛治理效果附源碼本帖最终由 terryyhl 于 2021-6-5 18:03 编辑在 android 系統中,ListView 的用法略微複雜一點,配置 Adpater 就有幾種方法,如 ArrayAdapter,SimpleAdapter 等。查了一些網上的相關例子,有很多都是用 ListActivity ,然後用 Adapter 來顯示布局。本例中沒有用到ListActivity 。 ListView 是在 android 中是一個經常用到的控件,ListView裏面的每個子項 Item 可以使用一個字符串,也可以是一個組合控件,下面是本

2、例將要實現的功能清單:1. 準備 ListView 要顯示的數據,使用一維或多維 動態數組 保存數據;2. 構建 適配器,適配器就是 Item 數組,動態數組有多少元素就生成多少個 Item;3. 把 適配器 添加到 ListView,并顯示出來;4. 在 ListView 的Item 添加 CheckBox 并可以執行單擊大事,設置單擊大事, 對應的 Item 顯示對應 Item 的數據,通過 getChildAt(0)找控件;5. 實現長按后彈出 menu 對話框效果; 本文所實現的 ListView 如下:UI 代碼如下:view source print?01 060708 10 設置

3、 ListView 的 Item 樣式 xml 文件如下:view source print?01 0708 1415 192021 2425 到這一步,順便解答上面第 4 個問題:如何設置在 ListView 中調協 CheckBox 之后還可以執行單擊或長按大事,在 Android 中 CheckBox 的點擊大事優先級比ListView 高,當頁面一加載時,會默認聚焦在 CheckBox 上,為了防止這個問題出來,我們要在 Android 的控件上的屬性加上 Bool 值:android:focusable=“false“最终就是 Java 源代碼,之后我再一一解答上面的全部問題:1.2

4、. package cn.terry;3. import java.util.ArrayList;4. import java.util.HashMap;5. import android.app.Activity;6. import android.os.Bundle;7. import android.view.ContextMenu;8. import android.view.MenuItem;9. import android.view.View;10. import android.view.ContextMenu.ContextMenuInfo; 11.import androi

5、d.view.View.OnCreateContextMenuListener; 12.import android.widget.*;13.import android.widget.AdapterView.OnItemClickListener; 14.public class testListViewAcitivity extends Activity 15.private ListView myListView;16. /* Called when the activity is first created. */17. Override18. public void onCreate

6、(Bundle savedInstanceState) 19. super.onCreate(savedInstanceState);20. setContentView(R.layout.main);21. myListView=(ListView)findViewById(R.id.ListView01); 22.23.ArrayListHashMap listitem=new ArrayListHashMap();24.25.for(int i=0;i10;i+)26.27. HashMap map=new HashMap();28. map.put(“ItemTitle“, “文章“+

7、i);29. map.put(“ItemText“, “Android 小項目“+i);30. listitem.add(map);31.32.33. SimpleAdapter listitemAdapter=new SimpleAdapter(this,/上下文34. listitem, /數據35. R.layout.listview_style,/listItem 的 xml 實現36. new String“ItemTitle“,“ItemText“, /從 map 的批定Key37. new intR.id.topTextView,R.id.bottomTextView /到要實現

8、的控件上38.);39.40.myListView.setAdapter(listitemAdapter); 41.42. myListView.setOnItemClickListener(new OnItemClickListener() 43. Override44. public void onItemClick(AdapterView arg0, View arg1, int arg2,45. long arg3) 46.47.48. / TODO Auto-generated method stub49. RelativeLayout lr=(RelativeLayout)arg1

9、;50. TextView mText=(TextView)lr.getChildAt(1);51. Toast.makeText(testListViewAcitivity.this, “你點擊了第“+arg2+“項的“+mText.getText().toString(),52.1000).show();53.54.55.56.57.58.);59.myListView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() 60.61. Override62. public void onCreateContext

10、Menu(ContextMenu menu, View v,63. ContextMenuInfo menuInfo) 64. / TODO Auto-generated method stub 65.66. ListView lr=(ListView)v;67. RelativeLayout myte=(RelativeLayout)lr.getChildAt(0);68. TextView dd=(TextView)myte.getChildAt(1);69. menu.setHeaderIcon(R.drawable.icon);70. menu.setHeaderTitle(dd.ge

11、tText().toString(); 71.menu.add(1, 0, 0, “高亮“);72.menu.add(0, 1, 0, “置頂“);73. 74.); 75.76.77. Override78. public boolean onContextItemSelected(MenuItem item) 79. / TODO Auto-generated method stub80. String Temp=“;81. switch (item.getItemId() 82. case 0:83. Temp=“高亮“;84. break;85. case 1:86. Temp=“置頂“;87. break;88. default:89. break;90.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号