在Android ListView的使用较为复杂一点,也就是配置其Adapter,Adapter有好多种,用到的就是上面介绍的ArrayAdapter,SimpleAdapter等,首先要生成一个ListView(当然可以使用ListActivity,此Activity整合了ListView),然后用Adapter来设定ListView的显示数据及布局方式,然后再来响应OnItemClick 事件,或者在ListActivity改写onListItemClick 响应事件函数。看如下代码演示响应了OnItemClick 事件:
//为ListView设置列表项点击监听器
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(),
"您点击的是:"+((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});
//为ListView设置长按监听器
mListView.setOnItemLongClickListener(new OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(getApplicationContext(),
"您长按的是:"+((TextView) view).getText(), Toast.LENGTH_SHORT).show();
return false;
}
});
运行最终的界面如下:(什么操作会出现对应的提示)
再来一个带有图片的ListView。
这时我通过xml文件来布局。
imagelistview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5px"/>
<LinearLayout android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="25px" />
<TextView android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="15px" />
</LinearLayout>
</LinearLayout>