`
stephen830
  • 浏览: 2967035 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

1个简单的SimpleAdapter工具类-SimpleAdapterUtil

 
阅读更多

1个简单的SimpleAdapter工具类-SimpleAdapterUtil

 

 

根据android.widget.SimpleAdapter来生成对应需要装备的适配器。

 

 

代码:

 

版本一:数据格式为List<Object[]>

 

package com.zhouzijing.android.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.widget.SimpleAdapter;

public class SimpleAdapterUtil{
	
	/**
	 * 创建适配器并配置数据.
	 * @param context The context where the View associated with this SimpleAdapter is running
	 * @param item 需要绑定的数据
	 * @param resource resource Resource identifier of a view layout that defines the views for this list
	 *        item. The layout file should include at least those named views defined in "to"
	 * @param to The views that should display column in the "from" parameter. These should all be
	 *        TextViews. The first N views in this list are given the values of the first N columns
	 *        in the from parameter.
	 * @return
	 */
	public static SimpleAdapter create(Context context,List<Object[]> item, int resource,int[] to) {
		//定义适配器内容数据
    	List<Map<String,?>> data = new ArrayList<Map<String,?>>();
    	//获取要显示内容数量
    	int itemLength = item.get(0).length;
    	//获取要显示内容内部长度
    	int itemCount = item.size();
    	//定义适配器from参数
    	String[] adapterFroms = new String[itemCount];
    	for(int i=0;i<itemCount;i++){
    		adapterFroms[i]="Item"+String.valueOf(i);
    	}
    	//准备适配器内容
    	for(int i=0;i<itemLength;i++){
    		Map<String,Object> map = new HashMap<String,Object>();
    		for(int j=0;j<itemCount;j++){
    			map.put(adapterFroms[j], item.get(j)[i]);
    		}
    		data.add(map);
    	}
    	//绑定适配器并返回
    	SimpleAdapter simpleAdapter = new SimpleAdapter(context, data, resource, adapterFroms, to);
    	return simpleAdapter;
	}
}

 

版本二:数据格式为ArrayList<ArrayList<Object>>

 

package com.zhouzijing.android.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.widget.SimpleAdapter;

public class SimpleAdapterUtil{
	
	/**
	 * 创建适配器并配置数据.
	 * @param context The context where the View associated with this SimpleAdapter is running
	 * @param item 需要绑定的数据
	 * @param resource resource Resource identifier of a view layout that defines the views for this list
	 *        item. The layout file should include at least those named views defined in "to"
	 * @param to The views that should display column in the "from" parameter. These should all be
	 *        TextViews. The first N views in this list are given the values of the first N columns
	 *        in the from parameter.
	 * @return
	 */
	public static SimpleAdapter create(Context context,ArrayList<ArrayList<Object>> item, int resource,int[] to) {
		//定义适配器内容数据
    	List<Map<String,?>> data = new ArrayList<Map<String,?>>();
    	//获取要显示内容数量
    	int itemLength = item.get(0).size();
    	//获取要显示内容内部长度
    	int itemCount = item.size();
    	//定义适配器from参数
    	String[] adapterFroms = new String[itemCount];
    	for(int i=0;i<itemCount;i++){
    		adapterFroms[i]="Item"+String.valueOf(i);
    	}
    	//准备适配器内容
    	for(int i=0;i<itemLength;i++){
    		Map<String,Object> map = new HashMap<String,Object>();
    		for(int j=0;j<itemCount;j++){
    			map.put(adapterFroms[j], item.get(j).get(i));
    		}
    		data.add(map);
    	}
    	//绑定适配器并返回
    	SimpleAdapter simpleAdapter = new SimpleAdapter(context, data, resource, adapterFroms, to);
    	return simpleAdapter;
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics