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;
	}
}

  

android的liveview装载数据

时间: 2024-11-07 23:12:26

android的liveview装载数据的相关文章

android蓝牙(二)——接收数据

在蓝牙开发中,我们有这样的一个需求:我们的android客户端要始终保持和蓝牙的连接,当蓝牙有数据返回的时候,android客户端就要及时的收取数据,当蓝牙没有数据返回的时候我们就要保持android客户端和蓝牙之间的连接.这个时候我们就要采取socket来实现和蓝牙之间的连接.做项目使用过http轮询去获取数据,但是发现那样总是有一定的弊端.于是就才用了socket方式去获取数据. 实现步骤:1.启动一个service去监听是否有数据返回.一旦有数据返回就启动一个线程去处理数据 2.处理完数据

android中Activity回传数据

比如从A跳转到B,然后等待从B回传数据: 那么在A中这样跳转: startActivityForResult(intent, 100); 后面那个requestCode要大于0: 然后在A中重写这个方法: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.e("onActivityResult", "onActivityResult&quo

Android基础知识(6)—数据持久化之数据存储

阅读前,请浏览此处上方目录. Android基础知识(6)-数据持久化之数据存储 本章内容为个人笔记,参考书籍有:<疯狂的android>第3版.<第一行代码> 首先,我们要知道什么是数据持久化. 数据持久化就是指那些内存中的瞬时数据保存到存储设备中,保证即使手机在关机的情况下,这些数据不会丢失.保存在内存中的数据是处于瞬时状态,保存在存储设备中的数据是处于持久状态.持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换. Android系统主要提供了三种方式用于简

Android 学习笔记之数据存储SharePreferenced+File

学习内容: Android的数据存储.... 1.使用SharedPreferences来保存和读取数据... 2.使用File中的I/O来完成对数据的存储和读取...   一个应用程序,经常需要与用户之间形成交互...需要保存用户的设置和用户的数据信息...这些都离不开数据的存储...Android的数据采用五种方式来进行存储...在这里就先介绍两种存储方式... 1.使用SharedPreferences存储数据...   对于软件配置参数的保存,Windows系统采用ini文件来进行保存,

Android客户端和服务器端数据交互

网上有很多例子来演示Android客户端和服务器端数据如何实现交互不过这些例子大多比较繁杂,对于初学者来说这是不利的,现在介绍一下代码最简单.逻辑最清晰的交互例子: 一.服务器端: 二.Android手机客户端:

Android Bundle传递简单数据、对象数据

Android开发过程中进程遇到组件之间.进程之间等数据的传递,数据传递有很多种,其中使用Bundle传递非常方便. Bundle可以传递多种数据,是一种类似map的key-value数据结构 简单的调用如下所示 Bundle bundle=new Bundle(); bundle.put***(key,value) 但是有时候需要我们传递一个对象,做法就是先把该对象使用serializable序列化 public class Book implements Serializable{ } 然后

Android定时器,更新数据

做个笔记,Android中常用的定时器,用于定时更新ui数据等. 1.Handler + Runnable定时器 private Handler mHandler; private Runnable mRunnable; mHandler = new Handler(); mRunnable = new Runnable() { public void run () { //更新数据的方法 update(); } }; //定时启动线程(执行的线程,时间毫秒) mHandler.postDela

Android -- 获取摄像头帧数据解码

由于Android下摄像头预览数据只能  ImageFormat.NV21 格式的,所以解码时要经过一翻周折. Camera mCamera = Camera.open(); Camera.Parameters p = mCamera.getParameters(); p.setPreviewFormat(ImageFormat.NV21); /*这是唯一值,也可以不设置.有些同学可能设置成 PixelFormat 下面的一个值,其实是不对的,具体的可以看官方文档*/ mCamera.setPa

android中对json数据的解析,并在listview中实际运用

android中对json数据的解析,并在listview中现实,下面是数据{"ziparea": "410100.0", "enddate": "2015-04-03 00:00:00", "ecertarea": "\u9053\u8def\u8d27\u7269\u8fd0\u8f93\u9a7e\u9a76\u5458", "ecertstate": &quo