簡體   English   中英

如何將可擴展ListView放入ScrollView中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM