2012-05-09 10 views
0

ListViewとlist_row xmlには、背景画像を持つLinearLayoutが含まれています。データは、ListViewの最初の行に表示する必要があります。ListViewの行をタップすると画像が表示され、非表示になります。私は時に画像を表示する必要がListViewをロードするとき、Android ListViewの最初の行に画像を表示するにはどうすればいいですか?

ViewGroup vg = (ViewGroup) ListView.getAdapter().getView(0, null, null); 
TableRow selectedRow = (TableRow) vg.getChildAt(0); 
LinearLayout ll = (LinearLayout) selectedRow.getChildAt(0); 
ll.setVisibility(View.VISIBLE); 

私は上記のソースコードを使用して、これは動作していないとヌルを返しobjects.Showし、一部を隠していないit.ButをやろうがItemClickListner .Butを使用してに取り組んでいますデータのロード。 アダプタクラスでそれをやろうとしましたが、画像を表示することができました。他の行のタップ時には非表示にできませんでした。この問題をどのように修正できますか? ありがとうございました。

答えて

1

このため、ListView.addHeaderView(v)メソッドを使用することをお勧めします。 ListViewのヘッダーとしてビューを追加することができます(これは常に他のリスト項目の上に表示されます)。その後、ItemClickListnerを実装した場合は、単にListView.removeHeaderView(v)を呼び出して、そのヘッダービューをリストから削除してください。

関連する問題