2017-08-11 1 views
10

En fait, je travaille actuellement pour une application AndroidTV. J'ai plusieurs horizontale RecyclerView droite à gauche à l'intérieur d'un NestedScrollView comme cette image.RecyclerView multiple horizontal à l'intérieur de NestedScrollView voler focus

Le problème est que lorsque je fais défiler plus vers la gauche, le focus se déplace vers une autre liste ou une vue différente qui n'est pas bonne.

Je ne veux pas que le focus change. Si la liste atteint la fin, la mise au point doit rester à la même position.

J'ai essayé:

android:descendantFocusability="blocksDescendants" 
android:focusableInTouchMode="true" //in parent layout 

Mais ça n'a pas marché ..

Quelqu'un peut-il me aider ??

enter image description here

Non résolu

+0

Essayez de suivre la solution dans ce [message SO connexe] (https://stackoverflow.com/a/42688298/5995040) –

+0

Déjà essayé mais pas utile @ Mr.Rebot –

+0

J'ai résolu mon problème avec l'utilisation d'android: descendantFocusability = "blocksDescendants" pour la disposition root dans le scrollview. En utilisant également nestedscrollview au lieu de scrollview. – asozcan

Répondre

0

Essayez de changer ScrollView-NestedScrollView. Une raison derrière cela est

**NestedScrollView** 

NestedScrollView est comme ScrollView, mais il prend en charge à la fois agir comme un parent de défilement imbriqué et de l'enfant sur les deux versions nouvelles et anciennes d'Android. Le défilement imbriqué est activé par défaut.

**ScrollView** 

récipient de mise en page pour une hiérarchie de vue qui peut être défilée par l'utilisateur , lui permettant d'être plus grand que l'affichage physique. Un ScrollView est un FrameLayout, ce qui signifie que vous devez y placer un enfant contenant le contenu entier à faire défiler; cet enfant peut être lui-même une mise en page gestionnaire avec une hiérarchie complexe d'objets

Cela vous aidera à déterminer quelle mise en page est en cours de mise au point.

+0

Déjà utilisé NestedScrollView mais pas utile ... @Dipali shah –

+0

En question, vous avez mentionné votre 'Recyclerview' est à l'intérieur' ScrollView' –

+0

Désolé pour cela, je ne suis pas mis à jour ma question. –

0

Vous pouvez utiliser ci-dessous pour la structure imbriquée défilement

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/white" 
    android:clickable="false" 
    android:orientation="vertical"> 

    <android.support.v4.widget.NestedScrollView 
     android:id="@+id/scroll_search_all" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <android.support.v7.widget.RecyclerView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:isScrollContainer="false" 
        android:nestedScrollingEnabled="false" /> 

      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <android.support.v7.widget.RecyclerView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:isScrollContainer="false" 
        android:nestedScrollingEnabled="false" /> 

      </LinearLayout> 
     </LinearLayout> 
    </android.support.v4.widget.NestedScrollView> 
</FrameLayout> 

J'espère que cela vous aidera!

+0

Désolé, cela ne change rien. Merci pour votre aide. @Alpesh Sorathiya –