【发布时间】:2013-08-31 07:03:06
【问题描述】:
如何在android中屏幕旋转时保留文本选择的查找状态
在我的Application中,我使用Webview显示网站,然后长按网站内容,创建系统默认的Actionmode,“选择”、“复制”、“分享”、“查找”菜单显示,然后我点击“查找”项 所选单词可以在查找文本编辑器中看到。 但是当我旋转屏幕时,所有的菜单和查找文本编辑器都被破坏了,当我开始打开网站时又回到了初始状态。 我的问题是屏幕旋转后,我可以做些什么来保持查找状态?
PS:我知道当屏幕旋转时,Activity被销毁并重新创建,所以旋转前的状态丢失了。但是我不知道应该在 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);
}
但是不行,text-selected-find状态还是丢失了。
我想如果我能得到系统默认的ActionMode实例,那么我可以保存它, 但我找不到任何方法来获取该实例。
【问题讨论】:
标签: android browser webview find