J'ai fait de nombreuses recherches sur ma question, mais aucune n'a été utile. J'ai une vue recyclée et des données statiques à l'intérieur d'une vue défilante qui est à l'intérieur d'un parentlayout Root comme indiqué ci-dessous.
J'ai mis -
scrollview.scrollto(0,0);
parce que chaque fois que j'ouvre l'activité, il saute au premier élément de la vue recyclée et il saute les données statiques au-dessus de la vue recyclée.
recyclerview.setNestedScrollingEnabled(false);
recyclerview.setfocusable(false);
pour le smoothscroll.
le problème est avec
layoutmanager.scrollToPositionWithOffset(pos,0);
cela ne fonctionne pas. J'ai défini l'aboveline après avoir défini l'adaptateur sur recyclerview. J'ai également essayé avec NestedScrollView mais en vain.
bien que j'aie utilisé
layoutmanager.scrollToPosition(pos);
Pour ceux qui sautent le code, j'ai mis match_parent à ScrollView et fillviewport à true.
Voici ma maquette.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/bottomsheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.inkdrops.khaalijeb.BrandCouponActivity">
<RelativeLayout
android:id="@+id/inclusionviewgroup"
android:layout_width="match_parent"
android:layout_height="match_parent">
<static data/>
<ScrollView
android:id="@+id/scrollviewmain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/one"
android:fillViewport="true"
android:scrollbars="none"
android:layout_above="@+id/donelayout">
<staticdata/>
<TextView
android:id="@+id/dealstext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/card1"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:textSize="16sp"
android:text="Deals & Coupons"
android:textColor="#444444" />
<RelativeLayout
android:id="@+id/recyclerlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/dealstext"
android:layout_marginTop="5dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@color/colorbackground">
<android.support.v7.widget.RecyclerView
android:id="@+id/coupon_rec_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorbackground"
android:visibility="visible"/>
</RelativeLayout>
<statisdata>
</RelativeLayout>
</ScrollView>
include layout="@layout/activity_coupons"
android:visibility="gone"
/>
</RelativeLayout>
</RelativeLayout>
0 votes
Pourriez-vous également afficher une partie de votre code Android ? Etes-vous sûr que vous faites référence au bon fichier
layoutManager
? Pas leRecyclerView
mais leScrollView
C'est vrai ?0 votes
Vous voulez conserver la position de défilement lors d'une rotation ou vous voulez simplement faire défiler les pages à une certaine position de manière programmatique ?
0 votes
collez également votre adaptateur et le code de l'activité/fragment correspondant @akshay_shahane.