爲ListView增長Header (可動態修改其中的內容)

爲ListView增長Header (可動態修改其中的內容) java

1.新建一個Layout:
   demo_list_item_header_view.xml
android

Xml代碼   收藏代碼
  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <LinearLayout  
  3.     android:layout_height="wrap_content"  
  4.     android:layout_width="wrap_content"  
  5.     xmlns:android="http://schemas.android.com/apk/res/android">    
  6.       
  7.     <TextView  
  8.         android:layout_height="30sp"  
  9.         android:layout_width="wrap_content"  
  10.         android:textSize="20sp" android:id="@+id/headerTextView"  
  11.         android:text="TestListViewHeader" />    
  12.   
  13. </LinearLayout>    

 

2.而後新建一個類,繼承自LinearLayout用來顯示上面的Layout:
   DemoListHeaderView.java
this

Java代碼   收藏代碼
  1. package com.zhang.test.view;     
  2.     
  3. import com.zhang.test.R;     
  4.     
  5. import android.content.Context;     
  6. import android.util.AttributeSet;     
  7. import android.view.LayoutInflater;     
  8. import android.view.View;     
  9. import android.widget.LinearLayout;     
  10. import android.widget.TextView;   
  11.   
  12. public class DemoListHeaderView extends LinearLayout {     
  13.     
  14.     private static final String TAG = "DemoListHeaderView";     
  15.     private Context context;     
  16.     private TextView textView;  
  17.   
  18.     public DemoListHeaderView(Context context) {     
  19.         super(context);     
  20.           
  21.         this.context = context;     
  22.         View view = LayoutInflater.from(this.context).inflate(R.layout.demo_list_item_header_view, null);   
  23.         //如下兩句的順序不能調換,要先addView,而後才能經過findViewById找到該TextView  
  24.         addView(view);     
  25.         textView = (TextView) view.findViewById(R.id.headerTextView);     
  26.     }  
  27.   
  28.     public void setTextView(String text) {     
  29.         textView.setText(text);     
  30.     }     
  31. }    
  32.    

 

 

 

3.以後在ListView設置setAdapter以前,必定要在setAdapter以前
   加上代碼:
spa

Java代碼   收藏代碼
  1. DemoListHeaderView headerView = new DemoListHeaderView(context);     
  2. headerView.setTextView("Header : ");     
  3. listView.addHeaderView(headerView); 
相關文章
相關標籤/搜索