2012-02-19 11 views
0

私はリストにヘッダーを追加したいと思います。addHeaderViewをリストビューに追加するにはどうすればよいですか?

header = "My header"; 
    txtV = (TextView) buildHeader(header); 
    lv.addHeaderView(txtV); 
    setListAdapter(new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, mTitle)); 

private View buildHeader(String header) { 
    TextView txt=new TextView(this); 
    txt.setClickable(false); 
    txt.setGravity(CENTER_HORIZONTAL); 
    txt.setText(header); 
    return txt; 
} 

この作品を、ソートの:これは私が今持っているものです。私の問題は次のとおりです:1ヘッダーが上部に固定されていない、スクロールします。 2ヘッダーはクリックできないはずです。また、ヘッダーはlistAdapter内の位置0で、カウントをスローします。 必要に応じてヘッダーを変更できるように、txtVが取り出されます。

おかげ
クリフは

+0

私の問題が見つかりました。さて、私は最終的にそれがどのように行われるべきかの例を見つけました。 lv.addHeaderView(buildHeader()); および プライベートビューbuildHeader(){ \t TextView txt = new TextView(this); \t txt.setText(ヘッダー)。 return(txt); } お時間をいただきありがとうございます。 クリフ – cliff2310

答えて

0

は、私はあなたがする必要があると思う:

View myHeaderView = ...; // your view 
lv.setHeaderView(myHeaderView); 

何あなたのコードは明らかにするつもりは持っていないされ、そのヘッダ、としての地位を使用するListViewを伝えようとしているんwork :) 2番目のパラメータはヘッダーに関連付けられたデータです。通常、ヘッダーがクリック可能な場合にのみ必要です。

+0

はい。私はまだ何のデータではありません。私はそれをクリックできないようにしたい。あなたのご意見ありがとうございます。 – cliff2310

0

このような単純なリストを作成している場合は、setListAdapterにヘッダーを定義します。ここには「titles」という単語があります。文字列の代わりにcharシーケンスを使用する必要があるので注意してください。このコードの動作:

String[] header ={"my header"}; 
setListAdapter(new ArrayAdapter<String>(this,    
      android.R.layout.simple_list_item_1, header)); 

また、main.xmlファイルが正しいことを確認してください。私はちょうどここから最初のものをコピーしました:http://developer.android.com/reference/android/app/ListActivity.html

+0

私はヘッダーをリストの一部にしたくありません。 x.xmlファイルはありません。私はこれをオンザフライで構築しています。しかし、入力のおかげで。 – cliff2310

関連する問題