私はこの方法Android: Expand/collapse animationを使用して、リストビュー内に展開可能な線形レイアウトを作成しています。私のリストビュー行には短い説明付きのlinearlayoutが表示されており、このリストビューをクリックすると、AsyncTaskを呼び出してインターネット上の長い説明を取得し、行の非表示のlinearlayoutを膨らませ、展開して受信したデータを表示します.
問題は、ターゲットの高さを拡張中の非表示のリスト ビューに設定すると、すべてが完璧に機能しますが、AsyncTask から受け取るデータの数がわからないため、拡張された非表示の高さを取得する必要があることです。線形レイアウト。
私はすでに試しました:
- getHeight() -> 0 を返します。
- getMeasureHeight() (膨張したビューの幅/高さを取得または計算する方法) - > その中のテキストビュー (20px) だけで 256 を返します
- オブザーバー (実行時に膨張した Linearlayout の高さを取得する) は、無限ループに入ります。
ウェブでいくつかの資料を読んでいると、画面に描画された後、ビューに高さがあるだけであることがわかりました。では、この高さを展開レイアウトのターゲットとして設定する最良の方法は何ですか?
asyncTask の onPostExecute でレイアウトを拡張および拡張しています。