我正在开发一个Android应用程序,我的问题结构是这样的。
一个活动包含一个片段,此片段包含一个RecyclerView。 RecyclerView项目包含两个文本视图,显示如下所示的简单文本:
TextTitle TextValue --> item1
TextTitle TextValue --> item2
TextTitle TextValue --> item3
如果用户点击文本值,则其值会更改(值为二进制,因此它只有两个)。如果用户通过点击更改前两个项的值,我想在恢复/保存状态的帮助下返回此片段时恢复这两个值。
我关注了很多文章并收集了一些信息,如果我必须在项目的视图布局中为两个textview使用正确的唯一ID,那么recyclelerview状态将自动存储,只需要保存整个recyclerview状态。它不适用于我的情况。我究竟做错了什么?我需要再次填充适配器吗?
任何帮助将不胜感激。
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable(INSTANCE_STATE_CONTENT_RECYCLER_VIEW,recyclerView.getLayoutManager().onSaveInstanceState());
}
// again restore it restore it
if (recyclerViewState != null) {
recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);
recyclerViewState = null;
}
@Override
public void onViewBound(@Nullable Bundle savedInstanceState) {
//super.onViewBound(savedInstanceState);
if (savedInstanceState != null) {
recyclerViewState = savedInstanceState.getParcelable(INSTANCE_STATE_CONTENT_RECYCLER_VIEW);
}
// continue with my work.
}