11

LinearLayout にいくつかの ListViews があります。それは日ごとに物事をリストしているので、「日曜日:」の後にアイテムのリストが続き、「月曜日」のTextViewなどが続くTextViewがあります。うまく機能しますが、画面に収まりません。そこで、LinearLayout の親として ScrollView を追加しました。スクロールするようになりましたが、ListViews には、エントリが 0 か 3 かに関係なく、すべて 2 エントリの余地があります。ScrollView の親を追加すると、ListView のサイズが動的に変化しませんでした。リストアダプターがビューを埋めた後、ScrollView で requestLayout() を呼び出してみましたが、何もしませんでした。何か案は?

編集: http://www.anddev.org/viewtopic.php?p=25194およびその他のリンクから、ScrollView 内の ListViews が正しく処理されていないようです。リストのリストを実装するための良い提案はありますか?

4

2 に答える 2

15

私もそのトピックに興味があるので、少し調べました。まず、ListViewをScrollViewに入れないでください(自分で見つけたように)。残念ながら、この問題をグーグルで検索しても解決策は得られないため、上記のコメントから提案を試しました。

カスタムListAdapterを実装し、ListViewを1つの親ListViewに配置しました。これは機能しません(ScrollViewの場合と同じ問題が発生します)。freenodeの公式android-irc#android-devの人たちと話すと、ListViewsをListViewに入れるのは、ScrollViewに入れるのと同じくらい悪いか、さらに悪いと私に言いました。残念ながら、彼らも問題を解決することができませんでした。

あなたがやりたいことを達成する唯一の方法があるようです。この同様の質問の回答を参照してください。Android用の複数のListViewを使用したスクロール。アイデアは、カスタムアダプタによってすべてのListViewを1つにマージし、エントリ間に何らかのヘッダーを挿入することです。これは絶対に実行可能ですが、特別な努力が必要になる場合があります。

于 2009-10-06T20:45:22.130 に答える
6

今これに答えるのが遅いことはわかっていますが、それでも、同様の問題が発生した場合にここに到着した他の人にとって役立つかもしれません.

これには Expandable ListView を使用することをお勧めします。それはあなたの問題のすべてを解決するでしょう。メイン/親の名前を週の名前にすることができ、それを展開すると、その特定の日/週/その他のエントリのリストが表示されます。また、スクロールは Android によって処理されるため、スクロールについて心配する必要はありません :)

これを試す場合は、問題が解決するかどうかお知らせください Expandable ListView で例を検索してみてください。

編集:ここで例を確認してください - http://mylifewithandroid.blogspot.com/2008/05/expandable-lists.html

于 2010-10-04T04:43:51.690 に答える