android 从资源中获取数组
2013-10-06 14:12:25 来源:WEB开发网核心提示:作用:返回当前列表项的索引值,参数-position:当前列表项的索引值,android 从资源中获取数组(7),提示:该方法是抽象方法,【示例代码】以下代码返回当前列表项的索引值@Overridepublic long getItemId(int position) {return position;}3、Objec
作用:返回当前列表项的索引值。
参数-position:当前列表项的索引值。
提示:该方法是抽象方法。
【示例代码】以下代码返回当前列表项的索引值
@Override
public long getItemId(int position) {
return position;
}
3、Object getItem(int position)
作用:返回当前列表项对象,
参数-position:当前列表项的索引值。
提示:该方法是抽象方法。
【示例代码】
@Override
public Object getItem(int position) {
return mCityNames[position];
}
说明:mCityNames是一个字符串数组。以上代码返回该数组中的一个元素。
4、int getCount()
作用:返回该列表的对象总数
提示:该方法是抽象方法。
示例代码:
@Override
public int getCount() {
return mCityNames.length;
}
说明:以上方法返回数组的总长度,该数组的长度也就是列表项的个数。
8.8.3.【示例】
示例(1)在Activity类中定义一个方法:getAdapter,该方法创建并返回一个BaseAdapter类的对象。
代码如下所示:
//自定义getAdapter()方法,该方法返回一个ListAdapter类的对象
private BaseAdapter getAdapter(){
//定义一个继承自BaseAdapter的适配器类
BaseAdapter adapter=new BaseAdapter() {
//重写getView类,返回列表中的一个列表项对象
@Override
public View getView(int position, View convertView, ViewGroup parent){
//创建布局解析器对象
LayoutInflater inflater=getLayoutInflater();
//通过布局解析器创建标签对象
TextView tvCityName=
(TextView) inflater.inflate(R.layout.listview_item, null);
//设置标签的标题为数组中索引值为position(即当前列表项的索引值)的元素,
tvCityName.setText(mCityNames[position]);
return tvCityName;//返回标签对象
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public Object getItem(int position) {
return mCityNames[position];
}
@Override
public int getCount() {
return mCityNames.length;
}
};
return adapter;//返回适配器对象
}
示例(2) 定义一个具有ArrayAdapter类相同功能的适配器类。
//MyArrayAdapter类继承自BaseAdapter类
public class MyArrayAdapter extends BaseAdapter {
//定义以下成员变量
Context mContext;//上下文
int mResId;//布局的资源索引
String[] mStrings;//显示的数据
//构造方法,通过参数获得所需的上下文对象、布局的资源索引值和显示的数据
public MyArrayAdapter(Context context, int mResId, String[] mStrings) {
super();
this.mContext=context;
this.mResId = mResId;
this.mStrings = mStrings;
}
//返回列表项的个数,即数组长度,该方法在构造方法执行后被调用
@Override
public int getCount() {
return mStrings.length;
}
//获得列表项对象
@Override
public Object getItem(int position) {
return mStrings[position];
}
//获得列表项的索引值
@Override
public long getItemId(int position) {
return position;
}
//创建并返回列表项,本方法现在只创建一个TextView对象
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=LayoutInflater.from(mContext);
参数-position:当前列表项的索引值。
提示:该方法是抽象方法。
【示例代码】以下代码返回当前列表项的索引值
@Override
public long getItemId(int position) {
return position;
}
3、Object getItem(int position)
作用:返回当前列表项对象,
参数-position:当前列表项的索引值。
提示:该方法是抽象方法。
【示例代码】
@Override
public Object getItem(int position) {
return mCityNames[position];
}
说明:mCityNames是一个字符串数组。以上代码返回该数组中的一个元素。
4、int getCount()
作用:返回该列表的对象总数
提示:该方法是抽象方法。
示例代码:
@Override
public int getCount() {
return mCityNames.length;
}
说明:以上方法返回数组的总长度,该数组的长度也就是列表项的个数。
8.8.3.【示例】
示例(1)在Activity类中定义一个方法:getAdapter,该方法创建并返回一个BaseAdapter类的对象。
代码如下所示:
//自定义getAdapter()方法,该方法返回一个ListAdapter类的对象
private BaseAdapter getAdapter(){
//定义一个继承自BaseAdapter的适配器类
BaseAdapter adapter=new BaseAdapter() {
//重写getView类,返回列表中的一个列表项对象
@Override
public View getView(int position, View convertView, ViewGroup parent){
//创建布局解析器对象
LayoutInflater inflater=getLayoutInflater();
//通过布局解析器创建标签对象
TextView tvCityName=
(TextView) inflater.inflate(R.layout.listview_item, null);
//设置标签的标题为数组中索引值为position(即当前列表项的索引值)的元素,
tvCityName.setText(mCityNames[position]);
return tvCityName;//返回标签对象
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public Object getItem(int position) {
return mCityNames[position];
}
@Override
public int getCount() {
return mCityNames.length;
}
};
return adapter;//返回适配器对象
}
示例(2) 定义一个具有ArrayAdapter类相同功能的适配器类。
//MyArrayAdapter类继承自BaseAdapter类
public class MyArrayAdapter extends BaseAdapter {
//定义以下成员变量
Context mContext;//上下文
int mResId;//布局的资源索引
String[] mStrings;//显示的数据
//构造方法,通过参数获得所需的上下文对象、布局的资源索引值和显示的数据
public MyArrayAdapter(Context context, int mResId, String[] mStrings) {
super();
this.mContext=context;
this.mResId = mResId;
this.mStrings = mStrings;
}
//返回列表项的个数,即数组长度,该方法在构造方法执行后被调用
@Override
public int getCount() {
return mStrings.length;
}
//获得列表项对象
@Override
public Object getItem(int position) {
return mStrings[position];
}
//获得列表项的索引值
@Override
public long getItemId(int position) {
return position;
}
//创建并返回列表项,本方法现在只创建一个TextView对象
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=LayoutInflater.from(mContext);
更多精彩
赞助商链接