42

スクロールビューとリストビューの違いを説明できる人はいますか?いつ使用するのですか?そして、どちらがより効率的ですか?

4

6 に答える 6

31

ScrollViewは、異なるまたは同じ子ビューまたはレイアウトを配置するために使用され、すべてをスクロールできます。

ListViewは、同じ子ビューまたはレイアウトを複数のアイテムとして配置するために使用されます。これらのアイテムはすべてスクロール可能です。

単にScrollViewは、同種および異種の両方のコレクション用です。ListViewは、同種のコレクション専用です。

于 2012-03-22T10:51:24.387 に答える
27

それらは完全に異なります。

ScrollViewは、アイテムのリストである場合もそうでない場合もある、その中に入れたものをスクロールするために使用できる単純なスクロールコンテナーです。

http://developer.android.com/reference/android/widget/ScrollView.html

ListViewは、リストを保持するように特別に設計されており、アイテムは通常同じように見えます(または、少なくともセクション見出しなどのパターンに従います)。ListViewは、ある種のデータソース、SQLite、配列、コンテンツプロバイダーなどに接続するようにも設計されています。ListViewは、膨大な数のリストアイテムを処理するように拡張できます。

http://developer.android.com/resources/tutorials/views/hello-listview.html

リストに表示する必要のあるデータがある場合は、ListViewを使用してください。コンテンツをスクロールするだけでよい場合は、おそらくScrollViewで十分です。

于 2012-03-22T10:48:32.870 に答える
3

リストビュー:-

ListViewでリストに表示したいxml内のアイテムのレイアウトを簡単に管理できます。

ディスプレイリストに必要なアイテムの数をアダプタに通知する必要があります。

AdapterのgetItemViewType()メソッドをオーバーライドすることにより、要件に応じて同種ビューと異種ビューの両方を設計できます。

ListViewでは、リスト内のアイテムは画面サイズに従って作成されます。つまり、画面に表示できるアイテムの数が作成されます。実行時にリストをスクロールすると、追加のビュー(アイテム)が作成されます。一度表示されたビューは、画面外に移動したときにキャッシュされ、リストをスクロールして前の状態に戻すと、同じビューが表示されますが、今回はビューが作成されず、キャッシュからフェッチされます。

ScrollView:-

キャッシュの概念は、ScrollViewには適用されません。

すべてのビューは、画面に表示されたときに一度に作成され、スクロール中に画面から移動したときにキャッシュされません。それらはメモリ(メイン)に存在し、同じページに表示されるまで参照されているため、作成されたオブジェクトの数がガベージコレクタによって破棄されないため、メモリリークが発生する可能性があります。

ただし、同種のビューと異種のビューの両方を作成できます。リストに表示する項目がさらにある場合は、xmlで設計する場合でも、Javaコードを使用して動的に作成する場合でも、レイアウトを管理するのは面倒です。

登録フォーム、予約フォームなどのアイテムのリストを含まない単一のページがあるが、そのビューが画面サイズよりも大きい場合は、scrollviewを使用することをお勧めします。次に、親ビューとしてScrollViewを配置します。また、ScrollViewは1つしか持つことができないことに注意してください。直接の子レイアウト/ビュー。

于 2016-12-17T10:37:32.777 に答える
2

ScrollViewは、そのコンテンツをスクロール可能なコンテナーに配置するだけで、ビューを追加することによってのみコンテンツを編集できます。

ListViewは、データオブジェクトのビューの作成を処理するアダプターを使用するクラスであり、データを編集するだけで済み、レイアウトの変更はアダプターによって自動的に行われます。

ScrollViewは、小さなデバイスの1つの画面に収まらない画面(例:複数のフィールドを持つフォーム)がある場合に使用する必要があります。そのようなScrollViewは、ユーザーに下にスクロールする可能性を提供します。

データセットを表す場合は、ListViewを使用する必要があります。

これらについては、 http://developer.android.com/guide/index.htmlで読むことができます。

于 2012-03-22T10:49:36.867 に答える
0

ListViewは、データソースを含むアダプターによってサポートされています。これにより、データを簡単に行に表示できます。

ScrollViewを使用すると、その中にコンテンツを配置できます。コンテンツがScrollViewのサイズを超える場合は、ユーザーがスクロールできるようになります。

どちらにも用途がありますが、それはあなたが何をしようとしているのかによります。

于 2012-03-22T10:48:21.453 に答える
0

千の言葉に値する画像なので、ここに完璧な実例があります:

ListviewはKijijiアプリのようなものです

ScrollviewはEBayアプリのようなものです

また、看板や壁のようなスクロールビューを見てください。そこにはさまざまなものを置くことができます。

また、リストビューは結果ページに似ています。結果はすべて同じ性質であるため、リストビューに完全に適合します。連絡先リストのように:それらはすべて同じ構造を共有します。電話番号名前住所など…

于 2014-12-08T15:57:17.460 に答える