[英]How to put expandable ListView inside a ScrollView
我似乎無法滾動片段。 我在editText和textViews的中間有一個可擴展的listview,在可擴展的listview的下面有一個textView和editText。 我無法向下滾動到底部的textView和editText。 如何格式化該格式,以便無需觸摸listView就可以一直向下滾動?
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:background="#FFFFFF"
android:orientation="vertical"
tools:context="edu.bradley.apawelczyk.trackapp.Add_Athlete_Fragment"
android:weightSum="1"
android:padding="20dp"
android:id="@+id/addAthleteLayout">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add New Athlete"
android:id="@+id/txtTitle"
android:gravity="center"
android:textColor="#000000"
android:textSize="30dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtName"
android:text="Name: "
android:textColor="#000000"
android:paddingBottom="10dp"/>
<EditText
android:layout_width="300dp"
android:layout_height="40dp"
android:id="@+id/editFirstName"
android:hint="First Name"
android:background="@drawable/edit_text_background"
android:textColorHint="#BBBBBB"
android:textColor="#000000"
android:paddingLeft="10dp" />
<EditText
android:layout_width="300dp"
android:layout_height="40dp"
android:id="@+id/editLastName"
android:hint="Last Name"
android:background="@drawable/edit_text_background"
android:textColorHint="#BBBBBB"
android:textColor="#000000"
android:paddingLeft="10dp"
android:layout_marginTop="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtAge"
android:text="Age: "
android:textColor="#000000"
android:paddingTop="10dp"
android:paddingBottom="10dp"/>
<EditText
android:layout_width="300dp"
android:layout_height="40dp"
android:id="@+id/editAge"
android:hint=""
android:background="@drawable/edit_text_background"
android:textColorHint="#BBBBBB"
android:textColor="#000000"
android:paddingLeft="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtGrade"
android:text="Grade: "
android:textColor="#000000"
android:paddingTop="10dp"
android:paddingBottom="10dp"/>
<EditText
android:layout_width="300dp"
android:layout_height="40dp"
android:id="@+id/editGrade"
android:hint=""
android:background="@drawable/edit_text_background"
android:textColorHint="#BBBBBB"
android:textColor="#000000"
android:paddingLeft="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtEvent"
android:text="Event: "
android:textColor="#000000"
android:paddingTop="10dp"
android:paddingBottom="10dp"/>
<ExpandableListView
android:layout_width="400dp"
android:layout_height="match_parent"
android:id="@+id/eventsList"
android:choiceMode="singleChoice"
android:divider="#000000"
android:dividerHeight="2dp"
android:focusable="false">
</ExpandableListView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtTier"
android:text="Tier: "
android:textColor="#000000"
android:paddingTop="10dp"
android:paddingBottom="10dp"/>
<EditText
android:layout_width="300dp"
android:layout_height="40dp"
android:id="@+id/editTier"
android:hint=""
android:background="@drawable/edit_text_background"
android:textColorHint="#BBBBBB"
android:textColor="#000000"
android:paddingLeft="10dp" />
您嘗試創建的布局無法以這種方式工作,因為ListView
不會出現在ScrollView
因為會消耗觸摸事件。 對於具有可滾動頁眉的ListView
,必須使用addHeaderView()
方法添加addHeaderView()
頁腳類似)。 但是,這不能僅使用XML來完成。
您的主要XML應該只包含ExpandableListView
,然后建議您使用LinearLayout
創建一個XML,該XML包含要在ListView
上方包含的所有視圖,另一個XML將包含以下視圖。 在您的代碼中,只需對這些XML進行膨脹, addFooterView()
使用它們調用addHeaderView()
和addFooterView()
。 另外,如果您使用onItemClickListener
請注意,標題視圖將移動視圖的索引。
可擴展列表視圖/列表視圖不接收手勢,因為滾動視圖會處理它們。 嘗試更改您的布局。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.