Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Vista de lista de Android establecer la posición predeterminada sin animación

Tengo una vista de lista de tablas en mi aplicación. Y el usuario puede agregar más datos en la lista. Me gustaría mostrar la posición de vista de lista predeterminada en los datos recién agregados. Sin embargo, yo uso si uso smoothScrollToPosition, hay animación lentamente hacia abajo, lo que no es deseable. ¿Saben cómo establecer la posición predeterminada sin esa animación?

Muchas gracias por su respuesta! Mira centavo

  • Espere un hilo antes de continuar en Android
  • JavaPoet + Android Studio "addModifiers (Modifier) ​​no se puede aplicar a Modificador"
  • ¿Es posible que una actividad obtenga basura recopilada y no un fragmento de niño?
  • Compatibilidad con versiones anteriores del diseño del material: colorAccent requiere el nivel 21 de API cuando se utiliza appcompat7
  • Archivo de lectura / escritura .txt con caracteres especiales
  • Cómo reducir la base de datos sqlite?
  • ¿Cómo recuperar datos de la base de datos de Firebase en orden descendente?
  • ¿Cómo resuelvo estos errores internos de Maven?
  • 2 Solutions collect form web for “Vista de lista de Android establecer la posición predeterminada sin animación”

    Creo que ListView.setSelection(int position) es lo que usted necesita.

    En mi aplicación tenía una necesidad similar. Utilicé getListView().setSelection() para definir la posición de la lista, funciona bien sin scroll.

    Si considera tener 2 actividades, ActivityA que muestra la lista de un cursor y ActivityB que tiene un formulario para agregar un nuevo elemento. Al finalizar, ActivityB debe devolver el identificador de cursor de elemento, entonces ActivityB puede recuperar la posición del elemento con el id y establecer la posición, como este código:

     /* check intent Id to scroll to the right item after update or delete */ if ( getIntent().hasExtra( ITEMID_INTENT_KEY ) ) { long id = getIntent().getLongExtra( ITEMID_INTENT_KEY, 0 ); int position = getPositionFromId( id ); getListView().setSelection( position > 0 ? position - 1 : 0 ); getIntent().removeExtra( ITEMID_INTENT_KEY ); } (...) private int getPositionFromId( long id ) { mCursor.moveToFirst(); do { Long cursorId = mCursor.getLong( mCursor.getColumnIndexOrThrow( yourIdColumn ) ); if ( cursorId.longValue() == id ) { return mCursor.getPosition(); } } while ( mCursor.moveToNext() ); return 0; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.