2015-07-10 5 views
1

У меня есть RecyclerView, который отображает некоторые данные. У меня также есть кнопка с плавающим действием, которая выводит пользователя на новое действие. Но когда пользователь возвращается к предыдущему Activity (содержащему RecyclerView), пользователь переходит к началу списка.
Как я могу предотвратить это и вернуть пользователя туда, где они были, прежде чем нажимать кнопку плавающего действия?Возврат к предыдущей позиции прокрутки в RecyclerView

+0

вы можете сохранить положение прокрутки во время движения вперед, & on return установить сохраненную позицию прокрутки. –

ответ

0

Извините за более поздний ответ. Вот что вы можете сделать:

1) Получить текущую позицию от вашего менеджера компоновки, как так:

int mPosition = mLinearLayoutManager.findFirstVisibleItemPosition(); 

2) Override общественного недействительными onSaveInstanceState (Bundle outState) и сохранить видимую позицию следующим образом:

public void onSaveInstanceState(Bundle outState) { 
     outState.putInt(KEY_SCROLL_POS, mPosition); 
     super.onSaveInstanceState(outState); 
} 

3) Восстановление положения при входе в атмосферу деятельности: в onCreate() сделать следующее:

mPosition = savedInstanceState.getInt(KEY_SCROLL_POS); 

Надеюсь, что это поможет.

Смежные вопросы