Java 如何保存LinkedList的实例状态<;字符串>;在recyclerView中,这样就不会破坏旋转设备了?

Java 如何保存LinkedList的实例状态<;字符串>;在recyclerView中,这样就不会破坏旋转设备了?,java,android,Java,Android,我有一个应用程序,它使用了由谷歌codelabs开发的RecyclerView。当点击LinkedList中的TtextView项目时,它会变为“单击+属性值”,但在旋转我的设备时,活动会被破坏,并且只显示“属性值。同样在点击FAB图标时,它会在LinkedList中添加一个新词,在旋转设备时也会清除该新词。我的问题是,如何保存我的应用程序的instatance状态,使活动不会在循环中被破坏 以下是该项目的链接:[android框架提供了一种特殊方法,允许您保存状态 onSaveInstance

我有一个应用程序,它使用了由谷歌codelabs开发的
RecyclerView
。当点击
LinkedList
中的
TtextView
项目时,它会变为“单击+属性值”,但在旋转我的设备时,活动会被破坏,并且只显示“属性值。同样在点击FAB图标时,它会在
LinkedList
中添加一个新词,在旋转设备时也会清除该新词。我的问题是,如何保存我的应用程序的
instatance
状态,使活动不会在循环中被破坏


以下是该项目的链接:[

android框架提供了一种特殊方法,允许您保存状态

onSaveInstanceState()
在这个方法中,您可以保存列表的状态。一种方法是将它保存在作为参数提供的bundle中

然后,您将在onCreate和onCreateView方法中收到相同的捆绑包,您可以使用它们获取以前保存的数据

另一种方法是将数据保存在一个持久存储中,如onPause()中的SharedReferences或Database,然后在onResume()中或任何需要的时候获取此数据

所有这些方法都是有效的,都是好的,你选择的方法取决于你自己

@Override
public void onSaveInstanceState(Bundle out){
   out.putString("test","test");
   super.onSaveInstanceState(out);

}


@Override
public void onCreate(Bundle savedInstance){
   if(savedInstance!=null){
     //We have saved state
     String test = savedInstance.getString("test");
   }else{
     //We do not have saved state, get the data from intent extra or argument for fragment
     String test = getIntent().getStringExtra("test");
   }
}

您可以通过这种方式保存与您相关的数据。

活动有相应的回调来保存和还原状态。使用它们。您可以使用onSaveInstanceState()方法提供代码吗?好了,这是一个非常简单的案例,但我希望它能指导您