我想在屏幕方向改变时保留 RecyclerView 所选项目的状态,但每当我更改方向时,所选项目不会保留其状态。
因此,我将所选项目的位置和方向更改保存在onResume().
我获取了位置,并通过使用 RecyclerView 的 getChildAt() 方法尝试获取该项目的视图,但它返回 null。
我遇到了严重的麻烦,请帮助。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
SelectedMyPosition= savedInstanceState.getInt("selectedItemPosition");
check=savedInstanceState.getString("demo");
}
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
objectRecyclerView = (RecyclerView) findViewById(R.id.RecyclerView);
objectRecyclerView.setHasFixedSize(true);
objectRecyclerView.setItemAnimator(new DefaultItemAnimator());
mAdapter = new MyAdapter(TITLES, ICONS, NAME, EMAIL, PROFILE, this,SelectedMyPosition);
mlayoutmanager = new LinearLayoutManager(this);
objectRecyclerView.setLayoutManager(mlayoutmanager);
objectRecyclerView.setAdapter(mAdapter);
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if (SelectedMyPosition >= 0) {
View v=objectRecyclerView.getChildAt(SelectedMyPosition);
if(v!=null)
{
v.setSelected(true);
}
View …Run Code Online (Sandbox Code Playgroud)