每次写listview都要翻以前的代码,好烦。所以记下模板,方便下次的使用。

  xml文件部分代码:

  1. <ListView
  2. android:id="@+id/listview"
  3. android:scrollingCache="false"
  4. android:cacheColorHint="#00000000"
  5. android:divider="@null"
    android:listSelector="@android:color/transparent"
  6. android:layout_width="fill_parent"
  7. android:layout_height="fill_parent"
  8. android:fadingEdge="none"
  9. android:fadeScrollbars="true">
  10. </ListView>

item的xml布局:(listview_style.xml)

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"
  3. android:layout_height="wrap_content">
  4.  
  5. <TextView
  6. android:id="@+id/textview"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:text="abcd"
  10. />
  11.  
  12. </RelativeLayout>

java 代码:

  1. 定义:
  2.    private ListView m_Listview;
  3. private MyAdapter m_listAdapter;
  4. private List<Map<String, String>> m_dataList = new ArrayList<Map<String, String>>();
  5.   
  6. 初始化:
  7.    

m_listAdapter = new MyAdapter(this,m_dataList);
       m_Listview = (ListView) findViewById(R.id.listview);
       m_Listview.setAdapter(m_listAdapter);
       m_listAdapter.notifyDataSetChanged();

  1.  
  2. 自定义适配器:
  3. class MyAdapter extends BaseAdapter{
  4. private Context m_context; //运行上下文
  5. private List<Map<String, String>> m_MapItems ;
  6. private LayoutInflater m_listContainer; //视图容器
  7.  
  8. public final class ListItemView{ //自定义控件集合
  9. TextView tv;
  10. }
  11.  
  12. public MyAdapter (Context context ,List<Map<String, String>> MapItems) {
  13.  
  14. // TODO Auto-generated constructor stub
  15. this.m_context = context;
  16. m_listContainer = LayoutInflater.from(context); //创建视图容器并设置上下文
  17. this.m_MapItems = MapItems;
  18. }
  19.  
  20. @Override
  21. public int getCount() {
  22. // TODO Auto-generated method stub
  23. return m_MapItems.size();
  24. }
  25.  
  26. @Override
  27. public Object getItem(int position) {
  28. // TODO Auto-generated method stub
  29. return m_MapItems.get(position);
  30. }
  31.  
  32. @Override
  33. public long getItemId(int position) {
  34. // TODO Auto-generated method stub
  35. return position;
  36. }
  37.  
  38. @Override
  39. public View getView(int position, View convertView, ViewGroup parent) {
  40. // TODO Auto-generated method stub
  41.  
  42. ListItemView listItemView = null;
  43. if (convertView == null) {
  44. listItemView = new ListItemView();
  45. //获取list_item布局文件的视图
  46. convertView = (View)m_listContainer.inflate(R.layout.listview_style,null);
  47. listItemView.tv = (TextView) convertView.findViewById(R.id.textview);
  48. convertView.setTag(listItemView);
  49.  
  50. }else {
  51. listItemView = (ListItemView)convertView.getTag();
  52. }
  53. Map<String, String> map = m_MapItems.get(position);
  54. return convertView;
  55. }
  56.  
  57. }

Listview模板的更多相关文章

  1. Android --ListView模板

    调整了近一上午的模板 ListView表头 <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  2. wpf 中 theme 的使用 和 listview 模板的使用.

    theme 文件 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentatio ...

  3. .NET4.0的listview与DataPager的结合使用时的模板编辑

    1.设置listview模板样式: <asp:ListView ID="ListView1" runat="server" DataSourceID=&q ...

  4. ListView中动态显示和隐藏Header&Footer

    ListView的模板写法 ListView模板写法的完整代码: android代码优化----ListView中自定义adapter的封装(ListView的模板写法) 以后每写一个ListView ...

  5. ListView Web 服务器控件概述(MSDN)

    1: "折叠"图像"展开"图像"复制"图像"复制悬停"图像 全部折叠全部展开 代码:全部 代码:多个 代码:Visual ...

  6. Smobiler控件的使用:ListView的数据绑定及实现多选

    环境 SmobilerDesigner 4.7 Visual Studio 2010以上 正文 listview绑定数据 打开Visual Studio ,新建一个SmobilerApplicatio ...

  7. listview界面显示

    1.布局写listview      2.找到listview           3.封装新闻数据到list集合中 ,目的是为adapter提供数据展示.     4.封装一个Adapter类继承B ...

  8. ASP.NET数据绑定控件简介

    •数据绑定分为数据源和数据绑定控件两部分(①数据绑定控件通过数据源获取和修改数据②数据绑定控件通过数据源隔离数据提供者和数据使用者)数据绑定控件→数据源→数据库•数据源:SqlDataSource(连 ...

  9. Android学习笔记-Adapter基础讲解

    本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要, Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式 ...

随机推荐

  1. HDU1507 Uncle Tom's Inherited Land*

    题目是跟 zoj1516是一样的,但多了匹配后的输出 详解zoj1516可见http://www.cnblogs.com/CSU3901130321/p/4228057.html #include & ...

  2. noip模拟赛 圆桌游戏

    [问题描述] 有一种圆桌游戏是这样进行的:n个人围着圆桌坐成一圈,按顺时针顺序依次标号为1号至n号.对1<i<n的i来说,i号的左边是i+1号,右边是i-1号.1号的右边是n号,n号的左边 ...

  3. Promise 异步编程

    //1.解决异步回调问题 //1.1 如何同步异步请求 //如果几个异步操作之间并没有前后顺序之分,但需要等多个异步操作都完成后才能执行后续的任务,无法实现并行节约时间 const fs = requ ...

  4. 纯JSP实现简单微信开发后台

    %@ page import="java.net.*" % %@ page import="java.math.*" % %@ page import=&quo ...

  5. 苹果树(codevs 1228)

    题目描述 Description 在卡卡的房子外面,有一棵苹果树.每年的春天,树上总会结出很多的苹果.卡卡非常喜欢吃苹果,所以他一直都精心的呵护这棵苹果树.我们知道树是有很多分叉点的,苹果会长在枝条的 ...

  6. Ubuntu 16.04安装VLC播放器,替代系统默认播放器

    VLC播放器应该说是开源项目中最好的视频播放器,但功能不止于视频播放,还有视频直播等等.可以通过安装字幕插件搜索字母等. 安装步骤: 1.安装: sudo add-apt-repository ppa ...

  7. ORACLE-020:ORACLE技巧002 批量操作表

    有时候须要批量操作一些表,比方授权,清空数据等.能够使用拼接sql语句的方式来实现. 比如.须要将一个用户中的全部表,授权查询权限给还有一个用户,能够拼接例如以下sql: select 'grant ...

  8. A Complete Guide to Usage of ‘usermod’ command– 15 Practical Examples with Screenshots

    https://www.tecmint.com/usermod-command-examples/ -------------------------------------------------- ...

  9. 玩转iOS开发 - 视图控制器生命周期

    视图控制器生命周期

  10. ITK Configuring and Building in VisualStudio及hello world程序编译

    1. ITK Configuring and Building in VisualStudio With Visual Studio 2010 on Windows 7 (32-bit): Launc ...