2011-09-22 22 views
8

ListViewの1行の高さを設定する際に問題があります。私はすでに何百ものフォーラムやブログ記事を読んでいますが、私にとっては何もうまくいかないようです。ListViewの各行に異なる高さを設定するにはどうすればよいですか?

私はArrayAdapter<Order>のListViewを持っています。 Orderオブジェクトの属性に応じて、各行ごとに異なる高さのさまざまなレイアウトが使用されます。しかし、結局、すべての行の高さは同じです。私はそれがArrayAdapterのコンストラクタに与えられたレイアウトの高さであると考えます。誰も各列の高さを個別に制御する方法を知っていますか?あなたの答えのための

おかげで、 フィリップ

+0

はあなたが欲しい(1)または変更のみの高さを必要とするためのさまざまなレイアウト(2)...( 1)ovveride getViewとそこでの高さの変更...(2)また、getItemViewType、getViewTypeCount、getViewをオーバーライドする必要があります...とにかくオーバーライドされたコードを表示します。getView – Selvin

答えて

18

はトリックがあなたのレイアウト項目のビューである、あなたはlayout_heightwrap_contentに設定する必要があり、それはそれです。

私は異なる高さのアイテムで私のlistViewのスクリーンショットを作った。

場合

あなたが初心者で、これはあなたの出発点を与える:

public static final String[] bzz = new String[] { "1", "2", "3", "4", "5" }; 
ArrayAdapter<String> addap = new ArrayAdapter<String>(this, 
       R.layout.list_item, R.id.text_view, bzz); 
lv.setAdapter(addap); 

enter image description here

+0

これは機能しました。どうもありがとう。 – Sotti

+0

これはスクロールの問題を引き起こします – GvSharma

関連する問題