App: stackFromEnd para RecyclerView no funciona en xml?

Tengo un RecyclerView definido como:

<android.support.v7.widget.RecyclerView android:id="@+id/message_list" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/message_input" android:layout_alignParentTop="true" app:stackFromEnd="true" /> 

El código relacionado también es común:

  LinearLayoutManager layoutManager = new LinearLayoutManager(this); //layoutManager.setStackFromEnd(true); mRecyclerView.setLayoutManager(layoutManager); 

Sin embargo, cuando agrego un elemento RecyclerView , no respeta la app:stackFromEnd="true" . Por otro lado, si descomente y uso layoutManager.setStackFromEnd(true); Programatically, trabaja muy bien. ¿Cuál es el problema que me falta? Cualquier idea es bienvenida.

Me encontré con algo similar. El problema es que cuando el RecyclerView está inflado, lee el atributo.

Pero entonces usted está asignando un nuevo LinearLayoutManager que se crea en el código java. Este nuevo gestor no tiene el atributo stackFromEnd establecido en true (por defecto a false).

stackFromEnd es un atributo del gestor, no el RecyclerView .

En mi caso tengo esto:

 <android.support.v7.widget.RecyclerView 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/list" app:stackFromEnd = "true" app:layoutManager="LinearLayoutManager" </android.support.v7.widget.RecyclerView> 

En su código xml no tiene el atributo app:layoutManager así que no estoy seguro de qué gestor se crea para usted en la inflación.

Parece que Android no reconoce la app:stackFromEnd="true" . Tal vez lo pones en el lugar equivocado. setStackFromEnd(Boolean) realiza el mismo trabajo, pero de forma programática.

Según la documentación:

public void setStackFromEnd(boolean stackFromEnd)

Soporte de compatibilidad para setStackFromBottom(boolean)

y

 public void setStackFromBottom (boolean stackFromBottom) 

Se agrega en el nivel 1 de la API Cuando la pila de la parte inferior se establece en true, la lista completa su contenido desde la parte inferior de la vista.

Parámetros stackFromBottom true para fijar el contenido de la vista en el borde inferior, false para fijar el contenido de la vista en el borde superior

Lee esto:

http://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#getStackFromEnd ()

http://developer.android.com/reference/android/widget/AbsListView.html#setStackFromBottom(boolean)

  • RecyclerView IndexOutOfBoundsException
  • ¿Cómo utilizar ItemAnimator en un RecyclerView?
  • ¿Cómo auto desplazarse hasta Recycler ver en Android?
  • Margen entre elementos en reciclado ver Android
  • No funciona Notifydatasetchange en RecyclerView con selección de centro Horizontal Scrollview?
  • Recyclerview automáticamente se desplaza hacia arriba cuando los datos insertados
  • ¿Cómo guardar y restaurar la posición exacta de desplazamiento de RecyclerView?
  • Elementos compartidos que animan entre fragmentos
  • Práctica recomendada para eliminar asincrónicamente un elemento ListView / RecyclerView
  • AppBarLayout no siempre vuelve a entrar en desplazamiento hacia abajo
  • Importación de CardView y RecyclerView (Android 5.0) en mi proyecto existente (eclipse)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.