Android 在安卓系统中,屏幕旋转时如何保持文本选定状态

Android 在安卓系统中,屏幕旋转时如何保持文本选定状态,android,browser,webview,find,Android,Browser,Webview,Find,在android中屏幕旋转时,如何保留选中的文本查找状态 在我的应用程序中,我使用Webview显示网站,然后长按网站内容,创建系统默认操作模式“选择” ,“复制” ,“分享” ,“查找”菜单显示,然后单击“查找”项 可以在“查找文本编辑器”中查看所选单词但当我旋转屏幕时,所有菜单和“查找文本编辑器”都将被销毁,当我在开始时打开网站时,返回初始状态。 我的问题是在屏幕旋转后,我可以做些什么来保持查找状态? PS:我知道当屏幕旋转时,活动被破坏并重新创建,因此旋转前的状态丢失。但是我不知道应该在o

在android中屏幕旋转时,如何保留选中的文本查找状态

在我的应用程序中,我使用Webview显示网站,然后长按网站内容,创建系统默认操作模式“选择” ,“复制” ,“分享” ,“查找”菜单显示,然后单击“查找”项 可以在“查找文本编辑器”中查看所选单词但当我旋转屏幕时,所有菜单和“查找文本编辑器”都将被销毁,当我在开始时打开网站时,返回初始状态。 我的问题是在屏幕旋转后,我可以做些什么来保持查找状态?

PS:我知道当屏幕旋转时,活动被破坏并重新创建,因此旋转前的状态丢失。但是我不知道应该在onSaveIntanceState()方法中保存什么对象。 另外,我不想在AndroidManifest.xml文件中使用android:configChanges

我确实喜欢下面

protected void onSaveInstanceState(Bundle outState) {
    webView.saveState(outState);
}
然后在重新膨胀webview后,在onCreate中恢复此功能。当然:

public void onCreate(final Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.blah);
   if (savedInstanceState != null)
      ((WebView)findViewById(R.id.webview)).restoreState(savedInstanceState);
}
但它不起作用,选定的文本查找状态仍然丢失

我想如果我能得到系统默认的ActionMode实例,那么我就能保存它, 但我找不到任何方法获得该实例。

尝试解决方案。我想您将了解如何使用
onSaveInstanceState()
方法

编辑: 如下所示

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
}

您需要将这两个方法放在类中并重写它们。另外,您没有放置
super
构造函数,这一点很重要。

但是在onSaveInstanceState()中,我应该保存什么对象,您能解释更多吗您可以从onCreate(Bundle savedInstanceState)保存Bundle对象。检查我答案的编辑部分,并尝试实现我共享的链接所示的
Parcelable
类。