WEB开发网
开发学院手机开发Android 开发 android 从资源中获取数组 阅读

android 从资源中获取数组

 2013-10-06 14:12:25 来源:WEB开发网   
核心提示:new int[]{R.id.ivCity,R.id.tvCity});lvCity.setAdapter(adapter);}//初始化集合数据private void initData() {//从资源中获得城市名称的数组mCityNames=getResources().getStringArray(R.arra
new int[]{R.id.ivCity,R.id.tvCity});
lvCity.setAdapter(adapter);
}
//初始化集合数据
private void initData() {
//从资源中获得城市名称的数组
mCityNames=getResources().getStringArray(R.array.citys);
//photoId:城市图片的资源索引值数组
int[] photoId={
R.drawable.beijing,R.drawable.tianjing,
R.drawable.shanghai, R.drawable.chongqing
};
Map<String,Object> item;//存放一个城市的图片、名称的数据
//将北京市的图片和名称添加至mList集合中
item=new HashMap<String, Object>();
item.put("photoId", photoId[0]);
item.put("name", mCityNames[0]);
mList.add(item);
//将天津市的图片和名称添加至mList集合中
item=new HashMap<String, Object>();
item.put("photoId", photoId[1]);
item.put("name", mCityNames[1]);
mList.add(item);
//将上海市的图片和名称添加至mList集合中
item=new HashMap<String, Object>();
item.put("photoId", photoId[2]);
item.put("name", mCityNames[2]);
mList.add(item);
}
8.10.自定义SimpleAdapter
8.10.1.概述
为更好的理解SimpleAdapter类的运行机制,以下创建一个继承自BaseAdapter类的MySimpleAdapter类,该类模仿SimpleAdapter类,实现类似于SimpleAdaptrer的功能。
8.10.2.定义MySimpleAdapter类
public class MySimpleAdapter extends BaseAdapter {
Context mContext;//上下文
//存放数据的集合
List<Map<String,Object>> mList;
int mResId;//布局View的资源索引值
String[] mKey;//键名数组
int[] mResItemIds;//控件的资源索引值数组
//构造方法
public MySimpleAdapter(Context mContext, List<Map<String, Object>> mList,
int mResId, String[] mKey, int[] mResItemIds) {
super();
this.mContext = mContext;
this.mList = mList;
this.mResId = mResId;
this.mKey = mKey;
this.mResItemIds = mResItemIds;
}
//返回集合元素总数
@Override
public int getCount() {
return mList.size();
}
//返回当前列表项
@Override
public Object getItem(int position) {
return mList.get(position);
}
//返回当前列表项的索引值
@Override
public long getItemId(int position) {
return position;
}
//重写getView方法,每次创建一个列表项
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//从集合中取出当前(索引值为position)Map对象->item
Map<String,Object> item=mList.get(position);
//获得布局布局对象
LinearLayout ll=(LinearLayout)LayoutInflater.from(
mContext).inflate(mResId, null);
//创建图像对象
ImageView ivCity=(ImageView)ll.findViewById(mResItemIds[0]);
//设置图片
ivCity.setImageResource((Integer)item.get(mKey[0]));
//创建标签对象
TextView tvCity=(TextView)ll.findViewById(mResItemIds[1]);
//设置标签的标题
tvCity.setText(item.get(mKey[1]).toString());
//返回布局对象
return ll;
}
}
说明:
以上代码中有四块比较重要,
1、标注(1)处定义了五个成员变量,这五个成员变量分别表示上下文对象、存放列表数据的集合对象、存放布局文件的资源索引值变量,存放键名的数组和存放布局中出现的所有控件的资源索引值数组。

上一页  5 6 7 8 9 10 11  下一页

Tags:android 资源 获取

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接