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

  xml文件部分代码:

         <ListView
android:id="@+id/listview"
android:scrollingCache="false"
android:cacheColorHint="#00000000"
android:divider="@null"
android:listSelector="@android:color/transparent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fadingEdge="none"
android:fadeScrollbars="true">
</ListView>

item的xml布局:(listview_style.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content"
android:layout_height="wrap_content"> <TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="abcd"
/> </RelativeLayout>

java 代码:

    定义:
   private ListView m_Listview;
private MyAdapter m_listAdapter;
private List<Map<String, String>> m_dataList = new ArrayList<Map<String, String>>();
  
初始化:
   

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


   自定义适配器:
class MyAdapter extends BaseAdapter{
private Context m_context; //运行上下文
private List<Map<String, String>> m_MapItems ;
private LayoutInflater m_listContainer; //视图容器 public final class ListItemView{ //自定义控件集合
TextView tv;
} public MyAdapter (Context context ,List<Map<String, String>> MapItems) { // TODO Auto-generated constructor stub
this.m_context = context;
m_listContainer = LayoutInflater.from(context); //创建视图容器并设置上下文
this.m_MapItems = MapItems;
} @Override
public int getCount() {
// TODO Auto-generated method stub
return m_MapItems.size();
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return m_MapItems.get(position);
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub ListItemView listItemView = null;
if (convertView == null) {
listItemView = new ListItemView();
//获取list_item布局文件的视图
convertView = (View)m_listContainer.inflate(R.layout.listview_style,null);
listItemView.tv = (TextView) convertView.findViewById(R.id.textview);
convertView.setTag(listItemView); }else {
listItemView = (ListItemView)convertView.getTag();
}
Map<String, String> map = m_MapItems.get(position);
return convertView;
} }

最新文章

  1. A=AUB
  2. Servlet过滤器(详询请加qq:2085920154)
  3. npm常用命令小结
  4. 爬虫技术 -- 基础学习(三)理解URL和URI的联系与区别
  5. svn 日志版本回滚
  6. JavaWeb学习记录(十七)——JSP九大隐式对象
  7. lintcode:形状工厂
  8. 用 Xcode 开发 Cydia Substrate 插件(二)
  9. TCP/IP协议原理与应用笔记17:IP编址(重点)
  10. TreeView节点
  11. 【转载】JAVA IO 流的总结
  12. HDU 5924 Mr. Frog’s Problem 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
  13. [Leetcode][016] 3Sum Closest (Java)
  14. 最艰难的采访IT公司ThoughtWorks代码挑战——FizzBuzzWhizz游戏
  15. nginx集群tomcat
  16. VUE项目问题之:去掉url中的#/
  17. zookeeper的作用
  18. Go语言为何说它优雅?-- Golang中的几个常用初始化设计
  19. Wireshark抓包实例诊断TCP连接问题
  20. hadoop1.0.4运行程序出现“Java heap Space”错误

热门文章

  1. 写给对&lt;meta content=&quot;IE=edge,chrome=1&quot; http-equiv=&quot;X-UA-Compatible&quot;&gt;迷惑不解的小伙伴
  2. codevs1001 舒适的线路
  3. 22、Java并发性和多线程-Java中的读/写锁
  4. 项目中应用到的框架和技术之一——Materialize
  5. VFL演示样例
  6. 总是有人想在android上直连mysql,是猴子请来的逗比吗?
  7. 七、备忘录模式Memento(行为型模式)
  8. c++ 编译器会绕过拷贝构造函数
  9. oc78--NSFileManager
  10. How do browser cookie domains work?