我有一個佈局,它有兩個ListViews,它們都在滾動視圖內,因爲內容可以超過設備的高度。這是佈局:ScrollView中的列表視圖不顯示所有項目
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.galleri5.android.activities.ImageActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:elevation="4dp"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#FAC80A">
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Image"
android:textColor="#000000"
android:textSize="17sp"
android:layout_centerVertical="true"
android:id="@+id/textView80" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView134"
android:src="@drawable/gallery_page_ic_notifications"
android:layout_alignParentEnd="true"
android:layout_marginRight="30dp"
android:layout_centerVertical="true" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
<ScrollView
android:id="@+id/scrollView2"
android:layout_below="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/user_profile_bg"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView102"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="25dp"
android:layout_marginTop="10dp"
android:adjustViewBounds="true" />
<ImageView
android:id="@+id/imageView103"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="25dp"
android:src="@drawable/user_profile_activity_1_shape_thin_line_separator" />
<TextView
android:id="@+id/textView38"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:alpha="0.8"
android:inputType="textMultiLine"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView39"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="25dp"
android:layout_marginLeft="30dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#707070" />
<ImageView
android:id="@+id/imageView104"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="25dp"
android:src="@drawable/user_profile_activity_1_shape_thin_line_separator" />
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView107"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingRight="5dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/imageView107"
android:orientation="vertical"
android:paddingLeft="5dp">
<TextView
android:id="@+id/textView45"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="0.8"
android:paddingBottom="2dp"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView46"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="2dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#707070"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:id="@+id/imageView108"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:src="@drawable/image_page_button_bookmark" />
</RelativeLayout>
</LinearLayout>
<ImageView
android:id="@+id/imageView109"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="10dp"
android:src="@drawable/user_profile_activity_1_shape_thin_line_separator" />
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#343031"
android:orientation="vertical">
<TextView
android:id="@+id/textView47"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_marginTop="15dp"
android:text="This Image is Part Of..."
android:textColor="#707070" />
<ImageView
android:id="@+id/imageView110"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="20dp"
android:layout_marginTop="10dp"
android:src="@drawable/user_profile_activity_1_shape_thin_line_separator" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView2" />
<TextView
android:id="@+id/textView57"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginLeft="30dp"
android:text="See All Galleries"
android:textColor="#707070" />
</LinearLayout>
</android.support.v7.widget.CardView>
<ImageView
android:id="@+id/imageView125"
android:layout_width="305dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginBottom="20dp"
android:src="@drawable/image_page_belongs_to_shape_line_separator_1" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView6" />
<EditText
android:id="@+id/editText6"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:alpha="0.8"
android:inputType="text"
android:elegantTextHeight="true"
android:enabled="true"
android:hint="Comment"
android:textCursorDrawable="@null"
android:textColor="#FFFFFF"
android:textColorHint="#FFFFFF"
android:layout_marginTop="10dp"
android:backgroundTint="#fac80a" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
這兩個listviews有id listView2和listView6。我已經正確設置了適配器的列表視圖。我從後端獲取數據。對於這兩個listviews,我從後端得到兩個項目,但實際上它只在每個listView中顯示一個項目。我也嘗試使用notifyDataSetChanged()將項目添加到第二個listView,但這不起作用。我只得到一個項目。可能的原因是什麼以及如何解決?
列表視圖可以滾動本身,當您在滾動視圖使用它,它會導致問題 – Pirisok
一個選擇是使用自動列表視圖中展開其子元素的高度。所以你可以使用scrollview,列表視圖高度將等於它的子高度,所以不需要滾動。這裏是鏈接第2個答案由DougW [鏈接](http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview-without-it-collapsing)...其他選項是使用NestedScroll和Recyclerview。例如,我將不得不查找或編寫它並讓你知道。 –
我的建議是使用具有多種視圖類型的[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html)。看看下面的[gist](https://gist.github.com/hister/d56c00fb5fd2dfaf279b)。 –