2011-12-15 49 views
1

我有以下代碼:Android的頁眉和頁腳不使用自定義的ListView出現

public class RefreshView extends ListView { 

    private LayoutInflater inflater; 
    private RelativeLayout mHeaderView; 
    private RelativeLayout mFooterView; 

    public RefreshView(Context context) { 
     super(context); 

     inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     // Refresh view 
     mHeaderView = (RelativeLayout) inflater.inflate(R.layout.header, this, 
       true); 
     addHeaderView(mHeaderView); 

     mFooterView = (RelativeLayout) inflater.inflate(R.layout.footer, this, 
       false); 
     addFooterView(mFooterView, this, true);  
    } 
} 

,這是我的main.xml

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

    <com.merry.more.RefreshView 
     android:id="@+id/android:list" 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
    /> 

</LinearLayout> 

在我ListActivity我把這個在OnCreate中:

mListItems = new LinkedList<String>(); 
     mListItems.addAll(Arrays.asList(mStrings)); 

     adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, mListItems); 
setListAdapter(adapter); 

我看到我所有的listitems,但沒有頁眉頁腳。有任何想法嗎? :○

回答

0

我認爲你必須使用

setAdapter(adapter); 

,而不是

setListAdapter(adapter); 

試試看......希望工程..

setListAdapter()不是方法你可以調用一個Activity(它可以在ListActivity上使用,但你沒有使用它)。你將不得不在你的佈局中添加一個ListView(/ res/layout/passwordscreen),然後找到它並且調用setAdapter。

+1

我輸入「在我的ListActivity我打電話給oncreate:」 – Maurice 2011-12-15 09:55:58

0

我不知道什麼正在嘗試做的..

但在我的情況下能正常工作,..

View header = inflater.inflate(R.layout.header,null); 
View footer = inflater.inflate(R.layout.footer,null); 

addHeaderView(header); 
addFooterView(footer); 
+0

我正在尋找替代品,以便我可以完全自定義列表視圖。我知道上述的作品。 – Maurice 2011-12-15 10:14:25

+0

我認爲,您正在嘗試將相對佈局添加爲頁眉和頁腳,但是,您是否知道它的影響?那麼R.layout.footer和R.layout.header有什麼樣的數據? – user370305 2011-12-15 10:16:51

0

我不知道爲什麼你想創建一個自定義像這樣的ListView,只是看看教程約Header and Footer

這是更好地膨脹在ActivityHeaderFooterListActivity本身,然後只需添加到ListView

0

如果我理解你想要的結構正確(穩定標題 - 可滾動列表 - 穩定頁腳)。在這種情況下,您需要擴展而不是ListView,但LinearLayout,在那裏添加標題,列表和頁腳,併爲它們提供LayoutParams