我知道问题的解决方案都在互联网上!甚至在stackoverflow上的几种方法,相信我,我已经阅读并应用了所有这些方法,但我无法保存和恢复我的回收站视图在设备旋转时的滚动位置。 这是我的相同代码(onCreate和onSaveInstanceState)。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
handleCollapsingToolbarTitle();
loadViews();
moviesAdapter = new MoviesAdapter(new ArrayList<Movies>(), this, this, this);
mlayoutManager = new GridLayoutManager(this, 2);
moviesRecyclerView.setNestedScrollingEnabled(false);
moviesRecyclerView.setHasFixedSize(false);
moviesRecyclerView.setLayoutManager(mlayoutManager);
moviesRecyclerView.setAdapter(moviesAdapter);
loaderManager = getLoaderManager();
loaderManager.initLoader(LOADER_ID, null, this);
if(savedInstanceState != null) {
listState = savedInstanceState.getParcelable(LIST_STATE_KEY);
if(listState != null)
moviesRecyclerView.getLayoutManager().onRestoreInstanceState(listState);
}
}
@Override
protected void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(state);
// Save list state
listState = moviesRecyclerView.getLayoutManager().onSaveInstanceState();
state.putParcelable(LIST_STATE_KEY, listState);
}
所以我尝试了所有组合,例如保存onPause并恢复onRestoreInstanceState和onCreate,onResume!但我没有成功。我不想通过androidConfigChange标签处理它。请帮我!。 PS:我正在使用GridLayoutManager,我甚至尝试过StatefulRecyclerView发布here
答案 0 :(得分:0)
我认为您无需保存和恢复onSaveInstanceState
内的位置即可达到目的。您可以添加属性
android:launchMode="singleTop"
在清单文件中的活动标记内。