zoukankan      html  css  js  c++  java
  • Listview模板

      每次写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;
        }
        
      }
  • 相关阅读:
    C 语言
    How does Chrome Extension crx Downloader work? ——— From crxdown.com
    做作业时看到的 Demo
    IDEA 插件收集
    [E] Shiro 官方文档阅读笔记 The Reading Notes of Shiro's Offical Docs
    烦人的 Python 依赖
    机器学习之路--Numpy
    机器学习之路--朴素贝叶斯
    机器学习之路--决策树
    机器学习之路--KNN算法
  • 原文地址:https://www.cnblogs.com/jlyg/p/7511731.html
Copyright © 2011-2022 走看看