Android 在安卓系统中,屏幕旋转时如何保持文本选定状态
在android中屏幕旋转时,如何保留选中的文本查找状态 在我的应用程序中,我使用Webview显示网站,然后长按网站内容,创建系统默认操作模式“选择” ,“复制” ,“分享” ,“查找”菜单显示,然后单击“查找”项 可以在“查找文本编辑器”中查看所选单词但当我旋转屏幕时,所有菜单和“查找文本编辑器”都将被销毁,当我在开始时打开网站时,返回初始状态。 我的问题是在屏幕旋转后,我可以做些什么来保持查找状态? PS:我知道当屏幕旋转时,活动被破坏并重新创建,因此旋转前的状态丢失。但是我不知道应该在onSaveIntanceState()方法中保存什么对象。 另外,我不想在AndroidManifest.xml文件中使用android:configChanges 我确实喜欢下面Android 在安卓系统中,屏幕旋转时如何保持文本选定状态,android,browser,webview,find,Android,Browser,Webview,Find,在android中屏幕旋转时,如何保留选中的文本查找状态 在我的应用程序中,我使用Webview显示网站,然后长按网站内容,创建系统默认操作模式“选择” ,“复制” ,“分享” ,“查找”菜单显示,然后单击“查找”项 可以在“查找文本编辑器”中查看所选单词但当我旋转屏幕时,所有菜单和“查找文本编辑器”都将被销毁,当我在开始时打开网站时,返回初始状态。 我的问题是在屏幕旋转后,我可以做些什么来保持查找状态? PS:我知道当屏幕旋转时,活动被破坏并重新创建,因此旋转前的状态丢失。但是我不知道应该在o
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
类。