如何将自定义行添加到android中的ListView

时间:2013-09-06 15:34:11

标签: android android-listview header footer

我正在开发一个简单的android应用程序,它有一个自定义列表视图,其中iam有一个图像,旁边的图像名称和说明。我在我的布局文件夹中创建了一个custom_list.xml,并有一个pictureListAdapter,它将数据添加到imageview,textview,textview。这是我的custom_list.xml代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >


<LinearLayout
    android:id="@+id/thumbnail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="5dip"
    android:padding="3dip" >
    <ImageView
        android:id="@+id/list_image"
        android:contentDescription="@string/app_name"
        android:layout_width="60dip"
        android:layout_height="60dip"
        android:src="@android:drawable/ic_menu_gallery"
         />
</LinearLayout>

<ImageView
    android:id="@+id/next"
    android:contentDescription="@string/app_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:src="@drawable/next" />

<TextView
    android:id="@+id/desc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageName"
    android:layout_alignLeft="@+id/imageName"
    android:paddingTop="5dip"
    android:layout_centerHorizontal="true"
    android:text="@string/app_name"
    android:textColor="#343434"
    android:textSize="15sp" />

<TextView
    android:id="@+id/imageName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/next"
    android:layout_marginLeft="30dp"
    android:layout_toRightOf="@+id/thumbnail"
    android:paddingBottom="10dip"
    android:text="@string/home"
    android:textColor="#040404"
    android:textSize="25sp"
    android:textStyle="bold"
    android:typeface="sans" />

</RelativeLayout>  

我能够加载数据并且列表很好,我的问题是需要在此列表中显示固定的页眉和页脚,我采取了单独的活动(MyActivity)并在MyCustomActivity.xml中编写了以下代码来添加像这样的页眉和页脚

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"

tools:context=".MyCustomActivity" >

  <include layout="@layout/header"
    android:id="@+id/hd"/>
  <include layout="@layout/activity_custom_list"
      android:id="@+id/listView"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"  />
  <include
    android:id="@+id/ft"
    layout="@layout/footer" />

</LinearLayout>

但是页眉和页脚还是没有进入屏幕,屏幕看起来和以前一样。任何人都可以给我一个方法,如何为我的自定义列表视图添加页眉和页脚,我有另一个疑问,我是否需要放置一个ListView标签代替中包含标签,如果是这样,那么如何将列表添加到ListView标签。 请耐心等待我对android很新,谢谢

1 个答案:

答案 0 :(得分:1)

将layout_weight属性添加到ListView:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"

tools:context=".MyCustomActivity" >

  <include layout="@layout/header"
    android:id="@+id/hd"/>
  <include layout="@layout/activity_custom_list"
      android:id="@+id/listView"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      android:layout_weight="1" />
  <include
    android:id="@+id/ft"
    layout="@layout/footer" />

</LinearLayout>