2017-03-05 8 views
0

私のアプリケーションで私のリストビューの1つにヘッダーを追加したいと思っていました。
今私の最初のアプローチは、ただ単に、このようなリストビューの前のTextViewを提出XMLに追加することでした:ListViewにヘッダーを追加する - なぜ私はそれを膨らませるべきですか?

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#98cfc8" 
    android:gravity="center_horizontal" 
    android:text="HARD" /> 

そしてそれは、私は今、私のListViewの上にヘッダを持っていますが、このチュートリアルでは、私は読んで、動作しますヘッダについては、私はそのようなコードとXMLでそれを作成した後、私はそれを膨らませるべきであると書かれていた:

LayoutInflater inflater = getLayoutInflater(); 
    ViewGroup header = (ViewGroup) inflater.inflate(R.layout.header, listView, 
      false); 
    ViewGroup footer = (ViewGroup) inflater.inflate(R.layout.footer, listView, 
      false); 
    listView.addHeaderView(header, null, false); 
    listView.addFooterView(footer, null, false); 

インフレとそれが私の現在のアプローチに比べて変化しないとは何ですか?

+0

ヘッダー(とフッターも同様です)がその位置に固定されていて、アイテムでスクロールしないため、最初の方法が優先します。それが必要です。一方、第2の方法では、「ヘッダー」と「フッター」が他のアイテムとスクロールします。そして、これは(私が見ているように)起こるべきではありません。 –

答えて

0

事は、あなたがそれので、これを行う必要はありません使用のonCreate()メソッドがあるとき

時々画面にあなたのスタッフを示してAndroidの「許可」するビューを膨らませる(レンダリング)しなければならないということですすでにシステム自体

+0

http://stackoverflow.com/questions/18022705/why-to-use-inflater-in-listview –

1

によって行われ、それが動作している、私は今

私のListViewの上のヘッダは実際に、それはヘッダーではありません持っています。これは単にリストの上にあるビューです。

listView.addHeaderViewは、ヘッダーをリストビューの一部として挿入する正しい方法です。

膨らませるが、あなたのアプローチではViewオブジェクト

0

にXMLファイルを回すの過程で、作成したヘッダはスクロールしません。それは常にリストの上に表示されます。

addHeaderView()を使用すると、リストの一部として表示され、残りのリスト項目とともに画面上をスクロールしたりスクロールしたりすることができます。

関連する問題