2010-12-13 18 views
0

ListViewの最初の項目に上端余白を追加したいとします。それは可能ですか? または、リストビューの最初のリストアイテムをどのように参照できますか?ListView内の最初のリスト項目を参照する方法は?

私はおそらく

lv = (ListView)getListView(); 
View myRowItem = lv.getChildAt(0); 

を試してみました、私はそれを実行した瞬間に、リスト項目がまだ存在していなかったので、それは、動作しません。私はonPostRenderイベントのようなもので上記のコードを試してみるべきだと思います。 Java Androidのようなものがありますか?

答えて

0

独自のアダプタを作成し、その状態をgetViewメソッドに設定する必要があります。しかし、最初の項目に上余白を追加する理由を知りたいのですが... ListViewにその上端を置くと同じ動作をしませんか?

+0

純粋なデザインの問題です。リストを画面(または作業領域)全体に表示したいが、リストが最初に表示されたときに、作業領域の上端とリストの最初の項目の間に余裕を持たせたい。まず、ヘッダー行を追加してスペースを作成しようとしましたが、アダプターを変更して呼び出しを開始するまでうまくいきました...(別の問題が作成されましたが、結論は出ていません) – bobetko

+0

唯一の解決策ですGetWiewを使用し、位置が0の場合はConvertViewにマージン値を適用します。このConvertViewが再度再利用されるため、0以外の位置のマージン値も削除する必要があります。私はより効率的な解決策を望んでいました。 – bobetko

+0

次に、私はposition 0でconvertViewの上端をどのように変更するのか分かりませんでした。私はLayoutParamsで私に理にかなったすべてのことを試みました...毎回クラッシュしています。 – bobetko

0

商品を手に入れるには、アダプターのリストを設定した場所にコードを書いてください。

ところで、マージンを設定するには、レイアウトファイル(XMLファイル)にリストビューのandroid:PaddingTopを設定するだけです。

0

ListItemsをカスタマイズする最も良い場所は、そのアダプタです。 ListView用にカスタマイズされたアダプタを作成し、getViewメソッドを使用して各ListItemで何をすべきかを決定します。ここの例を参照してください:How to repaint listview items when changing orientation

関連する問題