zoukankan      html  css  js  c++  java
  • android的liveview装载数据

    设置布局

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        
        <TextView
            android:id="@+id/itemsTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:paddingLeft="10dip"
            android:paddingTop="5dip"
            android:textColor="@color/gray_black"
            android:textSize="18dip" />
        <TextView
            android:id="@+id/itemsText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/itemsTitle"
            android:gravity="left"
            android:paddingBottom="2dip"
            android:paddingLeft="10dip"
            android:textColor="@color/gray"
            android:textSize="15dip" />
    
    </RelativeLayout>
    

     从MAP的集合取数据

    		//获取数据
    		Intent intent = getIntent();
    		Bundle bundle = intent.getExtras();
    		SerializableMaplist SerializableMaplist = (SerializableMaplist) bundle.get("listdata");
    		maplist =SerializableMaplist.getMap();  
    		//填充数据
    		ListView mListView = (ListView)findViewById(R.id.listview);
    		//使用自定义的Adapter
    		MyListViewAdapter myListViewAdapter = new MyListViewAdapter(this, maplist,R.layout.list_items,
    						new String[] {"rqsj","s","f" ,"JLR"}, 
    						new int[] {R.id.itemsTitle,R.id.itemsText });
    			 mListView.setAdapter(myListViewAdapter);
    

      自定义类MyListViewAdapter

    package com.xjx.adapter;
    
    import java.util.List;
    import java.util.Map;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.TextView;
    
    /**
     * Copyright (c) 2011 All rights reserved 
     * 名称:MyListViewAdapter 
     * 描述:ListView自定义Adapter例子
     * @author zhaoqp
     * @date 2011-11-8
     * @version
     */
    public class MyListViewAdapter extends BaseAdapter{
      
    	private Context mContext;
        //单行的布局
        private int mResource;
        //列表展现的数据
        private List<? extends Map<String, ?>> mData;
        //Map中的key
        private String[] mFrom;
        //view的id
        private int[] mTo;
        
       /**
        * 构造方法
        * @param context
        * @param data 列表展现的数据
        * @param resource 单行的布局
        * @param from Map中的key
        * @param to view的id
        */
        public MyListViewAdapter(Context context, List<? extends Map<String, ?>> data,
                int resource, String[] from, int[] to){
        	 mContext = context;
        	 mData = data;
             mResource = resource;
             mFrom = from;
             mTo = to;
        }   
        
        @Override
        public int getCount() {
            return mData.size();
        }
        
        @Override
        public Object getItem(int position) {
            return mData.get(position);
        }
    
        @Override
        public long getItemId(int position){
          return position;
        }
        
        @Override
        public View getView(int position, View convertView, ViewGroup parent){
        	  final ViewHolder holder;
              if(convertView == null){
    	          //使用自定义的list_items作为Layout
    	          convertView = LayoutInflater.from(mContext).inflate(mResource, parent, false);
    	          //使用减少findView的次数
    			  holder = new ViewHolder();
    			  holder.itemsTitle = ((TextView) convertView.findViewById(mTo[0]));
    			  holder.itemsText = ((TextView) convertView.findViewById(mTo[1]));
    			  //设置标记
    			  convertView.setTag(holder);
              }else{
            	  holder = (ViewHolder) convertView.getTag();
              }
    	      //设置数据
              final Map<String, ?> dataSet = mData.get(position);
              if (dataSet == null) {
                  return null;
              }
              //获取该行数据
              final Object data1 = dataSet.get(mFrom[0]);
              final Object data2 = dataSet.get(mFrom[1]);
              final Object data3 = dataSet.get(mFrom[2]);
              final Object data4 = dataSet.get(mFrom[3]);
              //设置数据到View
              holder.itemsTitle.setText(data1.toString()+"  "+data2.toString()+":"+data3.toString());
              holder.itemsText.setText(data4.toString());
              return convertView;
        }
        
        /**
    	 * ViewHolder类
    	 */
    	static class ViewHolder {
    		TextView itemsTitle;
    		TextView itemsText;
    	}
    }
    

      

  • 相关阅读:
    python--DenyHttp项目(1)--调用cmd控制台命令os.system()
    python--DenyHttp项目(1)--GUI:tkinter☞ module 'tkinter' has no attribute 'messagebox'
    python--DenyHttp项目(1)--socket编程:服务器端进阶版socketServer
    python--DenyHttp项目(1)--socket编程:客户端与服务器端
    平台后台编辑功能实现
    java中的map
    java 重写(override)与 重载(overload)
    java继承 extends
    java泛型
    java中Map和List的使用
  • 原文地址:https://www.cnblogs.com/chjx1988/p/3880439.html
Copyright © 2011-2022 走看看