que tenía exactamente el mismo problema, pruebe esto funcionó perfectamente para mí. Está anulando el método notifyDataSetChanged(). Usted hace esto en su clase de Adaptador. Simplemente copie el código que publiqué y reemplace la línea donde establecí SetSelection() con lo que necesite hacer.
@Override
public void notifyDataSetChanged()
{
super.notifyDataSetChanged();
parentGlobal.setSelection(this.getCount() - 1); //This is how we start Activity fully scrolled to bottom
}
Dicho esto, en el caso de que se preguntan, "parentGlobal" es el ListView que puse el adaptador en mi actividad. En el constructor del Adaptador, pasé en el ListView y luego lo hice "global". Me disculpo si "global" no es un término de Java, vengo de un mundo de C++.
// va en la actividad:
lv_main = (ListView) findViewById(R.id.listView_conversation);
adapter_main = new Adapter_Conversation(ConversationActivity.this, R.layout.layout_list_conversation,
list_main_UI, lv_main, main_list_item_margin_px);
lv_main.setAdapter(adapter_main);
// va en Adaptador
public Adapter_Conversation(AppCompatActivity activity, @LayoutRes int resource,
ArrayList<Adapter_GetSet_Conversation> list_conversation, ListView lv_main,
int item_margin_px)
alguien me ayude :( – hiepnh
reloj [esto] (http://stackoverflow.com/questions/6942582/smoothscrolltoposition-after-notifydatasetchanged-not-working-in-android) pregunta posible duplicado. – grine4ka
puede ser https://stackoverflow.com/a/20997828/5255006 le ayudará –