0

ListView背景画像を含む list_row xml がありますLinearLayout。要件は、ListViewデータをロードするときに の最初の行に画像を表示することです。その後、 の行をタップすると画像を表示および非表示にします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);

上記のソースコードを使用して実行しようとしましたが、これは機能せず、null オブジェクトが返されませんItemClickListner。Adapter クラスで実行しようとすると、画像を表示できましたが、他の行をタップすると非表示にできませんでしたListView。この問題を解決するにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

1

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

于 2012-05-09T11:51:04.327 に答える