android 从资源中获取数组
2013-10-06 14:12:25 来源:WEB开发网核心提示://获得被长按的列表项String text=(String)mListView.getItemAtPosition(position);Toast.makeText(MainAct.this, text, 3000).show();return false;}8.7.LayoutInflater类8.7.1.概述La
//获得被长按的列表项
String text=(String)mListView.getItemAtPosition(position);
Toast.makeText(MainAct.this, text, 3000).show();
return false;
}
8.7.LayoutInflater类
8.7.1.概述
LayoutInflater类用于将资源中定义的布局或布局中的控件解析为Java的对象。
8.7.2.创建LayoutInflater对象
创建方式(1):Activity.getLayoutInflater(),通过该方法创建LayoutInflater对象。
示例:
LayoutInflater inflater=getLayoutInflater();
创建方式(2):LayoutInflater.from(Activity.this);
示例:
LayoutInflater inflater=LayoutInflater.from(this);
说明:this:这里是指当前的Activity对象。
8.7.3.常用方法
View inflate(int resource, ViewGroup root)
作用:解析指定资源中的布局,返回结果是View类型的对象。
参数-resource:指定索引值的布局。
参数-root:第一个参数的父容器,若没有则写为null。
示例:以下是res/layout文件夹下定义的布局文件:listview_item.xml,该文件代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 布局中若只有一个控件,可省略布局管理器的定义 -->
<TextView
android:id="@+id/tvCity"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TextView>
以下Java代码将该布局文件解析为TextView对象,并设置该对象的标题:
LayoutInflater inflater=getLayoutInflater();
TextView tvCityName=(TextView)
inflater.inflate(R.layout.listview_item, null);
//设置标签的标题
tvCityName.setText(“这是解析的标签”);
8.8.BaseAdapter
8.8.1.概述
BaseAdapter是ArrayAdapter的父类,该类是抽象类。通过创建该类的子类,可以灵活的设置适配器。以下通过分析该类结构,进一步理解ArrayAdapter的运行机制。
8.8.2.常用方法
1、public View getView(int position, View convertView, ViewGroup parent)
作用:若当前列表的列表项未创建,则创建并返回列表项,包括列表项的显示样式和数据。
参数-position:当前列表项在列表中的索引值。
参数-convertView:当前列表项的View对象。
参数-parent:列表项的父容器对象-列表对象。
提示:该方法是抽象方法。
示例:以下代码创建一个标签对象,并返回该对象作为列表项:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//实例化标签对象
TextView tvCityName=
(TextView) findViewById(R.layout.listview_item);
//设置标签的标题为数组中索引值为position(即当前列表项的索引值)的元素,
tvCityName.setText(mCityNames[position]);
return tvCityName;//返回标签对象
}
2、long getItemId(int position)
String text=(String)mListView.getItemAtPosition(position);
Toast.makeText(MainAct.this, text, 3000).show();
return false;
}
8.7.LayoutInflater类
8.7.1.概述
LayoutInflater类用于将资源中定义的布局或布局中的控件解析为Java的对象。
8.7.2.创建LayoutInflater对象
创建方式(1):Activity.getLayoutInflater(),通过该方法创建LayoutInflater对象。
示例:
LayoutInflater inflater=getLayoutInflater();
创建方式(2):LayoutInflater.from(Activity.this);
示例:
LayoutInflater inflater=LayoutInflater.from(this);
说明:this:这里是指当前的Activity对象。
8.7.3.常用方法
View inflate(int resource, ViewGroup root)
作用:解析指定资源中的布局,返回结果是View类型的对象。
参数-resource:指定索引值的布局。
参数-root:第一个参数的父容器,若没有则写为null。
示例:以下是res/layout文件夹下定义的布局文件:listview_item.xml,该文件代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 布局中若只有一个控件,可省略布局管理器的定义 -->
<TextView
android:id="@+id/tvCity"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</TextView>
以下Java代码将该布局文件解析为TextView对象,并设置该对象的标题:
LayoutInflater inflater=getLayoutInflater();
TextView tvCityName=(TextView)
inflater.inflate(R.layout.listview_item, null);
//设置标签的标题
tvCityName.setText(“这是解析的标签”);
8.8.BaseAdapter
8.8.1.概述
BaseAdapter是ArrayAdapter的父类,该类是抽象类。通过创建该类的子类,可以灵活的设置适配器。以下通过分析该类结构,进一步理解ArrayAdapter的运行机制。
8.8.2.常用方法
1、public View getView(int position, View convertView, ViewGroup parent)
作用:若当前列表的列表项未创建,则创建并返回列表项,包括列表项的显示样式和数据。
参数-position:当前列表项在列表中的索引值。
参数-convertView:当前列表项的View对象。
参数-parent:列表项的父容器对象-列表对象。
提示:该方法是抽象方法。
示例:以下代码创建一个标签对象,并返回该对象作为列表项:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//实例化标签对象
TextView tvCityName=
(TextView) findViewById(R.layout.listview_item);
//设置标签的标题为数组中索引值为position(即当前列表项的索引值)的元素,
tvCityName.setText(mCityNames[position]);
return tvCityName;//返回标签对象
}
2、long getItemId(int position)
更多精彩
赞助商链接