读书人

替ListView增加Header (可动态修改其中

发布时间: 2012-07-02 17:46:22 作者: rapoo

为ListView增加Header (可动态修改其中的内容)

为ListView增加Header (可动态修改其中的内容)

1.新建一个Layout:
?? demo_list_item_header_view.xml

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout    android:layout_height="wrap_content"    android:layout_width="wrap_content"    xmlns:android="http://schemas.android.com/apk/res/android">          <TextView        android:layout_height="30sp"        android:layout_width="wrap_content"        android:textSize="20sp" android:id="@+id/headerTextView"        android:text="TestListViewHeader" />  </LinearLayout>  

?

2.然后新建一个类,继承自LinearLayout用来显示上面的Layout:
???DemoListHeaderView.java

package com.zhang.test.view;     import com.zhang.test.R;     import android.content.Context;   import android.util.AttributeSet;   import android.view.LayoutInflater;   import android.view.View;   import android.widget.LinearLayout;   import android.widget.TextView; public class DemoListHeaderView extends LinearLayout {         private static final String TAG = "DemoListHeaderView";       private Context context;       private TextView textView;    public DemoListHeaderView(Context context) {           super(context);                   this.context = context;           View view = LayoutInflater.from(this.context).inflate(R.layout.demo_list_item_header_view, null);         //以下两句的顺序不能调换,要先addView,然后才能通过findViewById找到该TextView        addView(view);           textView = (TextView) view.findViewById(R.id.headerTextView);       }    public void setTextView(String text) {           textView.setText(text);       }   }   

?

?

?

3.之后在ListView设置setAdapter之前,一定要在setAdapter之前
?? 加上代码:

DemoListHeaderView headerView = new DemoListHeaderView(context);   headerView.setTextView("Header : ");   listView.addHeaderView(headerView);

?

读书人网 >移动开发

热点推荐