[解決済み] Androidのリストビューをスクロールビュー内に表示する
質問
私は、アンドロイドのレイアウトで
scrollView
その中にいくつかの要素があります。の下にある
scrollView
を持っています。
listView
を作成し、それをアダプタに入力します。
私が経験している問題は、android が
listView
が
scrollView
を
scrollView
は、すでにスクロール可能な機能を備えています。 私は
listView
をコンテンツと同じ長さにして、マスタースクロールビューをスクロール可能にします。
どうすればこの動作を実現できますか?
これが私のメインレイアウトです。
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:fillViewport="true"
android:gravity="top" >
<LinearLayout
android:id="@+id/foodItemActvity_linearLayout_fragments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
次に、プログラムで自分のコンポーネントをidでlinearlayourに追加しています。
foodItemActvity_linearLayout_fragments
. 以下は、そのlinearlayoutに読み込まれるビューの1つです。これは、スクロールに問題があるものです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/fragment_dds_review_textView_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reviews:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ListView
android:id="@+id/fragment_dds_review_listView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
そして、私のアダプタはこのリストビューを埋め尽くします。
マスタースクロールビューをクリックしたときのアンドロイド階層ビューアーの画像です。
見ての通り、reviews listViewを除外しています。
ページをスクロールして8件のレビューを見ることができるはずですが、その代わりにその3件しか表示されず、レビューがある小さな部分をスクロールすることができます。グローバルなページスクロールが必要です。
どうすればいいですか?
子ビューがScrollViewの中でスクロールする場合。ListView、RecyclerViewなどのようなものです。を置き換えるだけです。 スクロールビュー と androidx.core.widget.NestedScrollView を現在のxmlに追加すると、マジックが起こります。
以下は、xmlのサンプルコードです。
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp"
android:paddingBottom="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Recycler View inside a Scroll View"
android:textColor="@color/black"
android:textSize="@dimen/_20sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Below is a Recycler View as an example."
android:textSize="16sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/et_damaged_qty" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="This textview automatically goes below the Recycler View."
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.core.widget.NestedScrollView>
これで、入れ子スクロールを回避するために行った醜いハッキングをすべて取り除くことができます。
関連
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】ビューのルートとしてNULLを渡さないようにする(膨張したレイアウトのルート要素でレイアウトパラメータを解決する必要がある)。
-
[解決済み】カメラサービスへの接続に失敗しました。
-
[解決済み] Looper.prepare()を呼び出していないスレッドではハンドラを作成できない
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android - SDKバージョン23のアップデート後、ACTION-VIEWインテントフィルタを持つアクティビティを少なくとも1つ追加する。
-
[解決済み] 現在のテーマでスタイル 'coordinatorLayoutStyle' を見つけることができませんでした。
-
[解決済み】"ビットマップが大きすぎてテクスチャにアップロードできない"
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み】Bluestackの向きを変更する : ポートレート/ランドスケープモード
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
[解決済み] Mockito lenient() を使用する場合
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] ListViewをScrollViewの中に入れても、崩れないようにするにはどうしたらいいですか?
-
[解決済み] AndroidでScrollView内のListViewがスクロールしない件