Cómo desplazarse a la parte inferior en un ScrollView en inicio de actividad

Estoy mostrando algunos datos en un ScrollView. En el arranque de la actividad (método onCreate) lleno el ScrollView con datos y quiero desplazarme a la parte inferior.

Intenté usar getScrollView().fullScroll(ScrollView.FOCUS_DOWN) . Esto funciona cuando lo hago como una acción en el botón de clic, pero no funciona en el método onCreate.

¿Hay alguna manera de cómo desplazar el ScrollView a la parte inferior en el inicio de la actividad? Esto significa que la vista ya se desplaza hacia abajo cuando se muestra la primera vez.

Debe hacerse de la siguiente manera:

  getScrollView().post(new Runnable() { @Override public void run() { getScrollView().fullScroll(ScrollView.FOCUS_DOWN); } }); 

De esta manera, la vista se actualiza por primera vez y luego se desplaza hasta el fondo "nuevo".

Ponga el siguiente código después de agregar sus datos:

 final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview)); scrollview.post(new Runnable() { @Override public void run() { scrollview.fullScroll(ScrollView.FOCUS_DOWN); } }); 

Esto funciona para mí:

 scrollview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { scrollview.post(new Runnable() { public void run() { scrollview.fullScroll(View.FOCUS_DOWN); } }); } }); 

Puede hacerlo en el archivo de diseño:

  android:id="@+id/listViewContent" android:layout_width="wrap_content" android:layout_height="381dp" android:stackFromBottom="true" android:transcriptMode="alwaysScroll"> 

Justo después de añadir los datos a la vista, agregue esta sola línea:

 yourScrollview.fullScroll(ScrollView.FOCUS_DOWN); 

Prueba esto

  final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview)); scrollview.post(new Runnable() { @Override public void run() { scrollview.fullScroll(ScrollView.FOCUS_DOWN); } }); 

Esta es la mejor manera de hacer esto.

 scrollView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { scrollView.post(new Runnable() { public void run() { scrollView.fullScroll(View.FOCUS_DOWN); } }); } 

Después de inicializar el componente de interfaz de usuario y rellenarlo con datos. Añada la línea a su método de crear

 Runnable runnable=new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } }; scrollView.post(runnable); 
  • Cómo detener el desplazamiento interno de WebView en Android?
  • Cómo habilitar la funcionalidad de desplazamiento a un diseño lineal en android?
  • ¿Cómo puedo desplazar un WebView a un punto específico en Android
  • Android: onScrollStateChanged SCROLL_STATE_IDLE a veces no se dispara
  • Cómo habilitar el desplazamiento en un simpleadapter en el firmware X16 de Google Glass
  • Agregar nuevo elemento a la parte superior del RecyclerView
  • ¿Hay una manera de forzar un WebView para actualizar su imagen (vista), mientras se desplaza?
  • Barra de desplazamiento en android
  • Vista de desplazamiento bidireccional
  • Android smoothScrollBy se comporta mal
  • Uso de JavaScript para desplazarse automáticamente en la tableta de galaxias
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.