我正在创建一个Android程序。在这个程序中,我有一个ScrollView,里面有一个RecyclerView。我通过RecyclerViewAdapter在此RecyclerView中添加数据。
对于RecyclerView的每个项目,都有一个NestedScrollview,它具有一个垂直方向的LinearLayout。我在这个LinearLayout中动态添加ImageView。
问题是图像没有滚动。在非常罕见的情况下(通过在屏幕上点击这么多次),它滚动了一次。
有人可以帮我吗?
这是代码 -
父级回收者视图: -
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<android.support.v7.widget.RecyclerView
android:id="@+id/id_recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@color/gray3"
android:dividerHeight="5sp"
android:paddingLeft="2sp"
android:paddingTop="5sp"
android:paddingRight="2sp"/>
<com.app.sh.widget.WrappedGridView
android:id="@+id/gridView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/White"
android:numColumns="2">
</com.app.socialhand.widget.WrappedGridView>
</LinearLayout>
</ScrollView>
回收者视图的项目: -
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/vScrollView"
android:layout_below="@id/iv_up"
android:layout_above="@+id/iv_down"
android:isScrollContainer="true"
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/ll_123"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</LinearLayout>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
我在ll_123中动态添加ImageViews。
答案 0 :(得分:0)
尝试使用NestedScrollView而不是ScrollView或删除它。 RecyclerView有自己的scrollview,它将与ScrollView冲突。
答案 1 :(得分:0)
您可以尝试以下结构:
<ScrollView>
<NestedScrollView>
<LinearLayout>
<RecyclerView/>
</LinearLayout>
</NestedScrollView>
</ScrollView>
ListItem布局应包含:
<NestedScrollView>
<LinearLayout/>
</NestedScrollView>
检查这是否正常......
答案 2 :(得分:0)
我遇到了同样的问题,这对我有所帮助:
<ScrollView
android:id="@+id/messages_scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/send_panel"
android:fillViewport="true"
android:padding="5dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/messages"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp"
android:animateLayoutChanges="true"
android:gravity="center_horizontal|bottom"
android:orientation="vertical">
</LinearLayout>
</RelativeLayout>
</ScrollView>
答案 3 :(得分:0)
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<-only one layout in nestade layout->
<LinearLayout
android:id="@+id/activity_edit_existing_location"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rcl"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<-put here yr second layout code->
</RelativeLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>