2013-08-31 57 views
3

我怎樣才能保留文本的選擇找到狀態時,在安卓我怎麼能保持文本的選中狀態時,在android系統

在我的應用屏幕旋轉,我使用網頁視圖來顯示網站,然後我長按屏幕旋轉網站內容,創建系統默認動作模式,「選擇」,「複製」,「分享」,「查找」菜單顯示,然後我點擊「查找」項目所選單詞可以在查找文本編輯器中看到。 但是當我旋轉屏幕時,所有菜單和查找文本編輯器都被銷燬,當我在開始打開網站時返回到初始狀態。 我的問題是屏幕旋轉後,我該怎麼做才能保留查找狀態?

PS:我知道當屏幕旋轉時,Activity被破壞和重新創建,所以旋轉之前的狀態丟失了。但是我不知道應該在onSaveIntanceState()方法中保存什麼對象。 另外我不想在AndroidManifest.xml文件中使用android:configChanges。

我不喜歡下面

protected void onSaveInstanceState(Bundle outState) { 
    webView.saveState(outState); 
} 

然後恢復這個在你的onCreate web視圖已經重新充氣課程後:

public void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.blah); 
    if (savedInstanceState != null) 
     ((WebView)findViewById(R.id.webview)).restoreState(savedInstanceState); 
} 

,但它不工作,文本selected-找到狀態仍然丟失。

我想如果我能得到系統默認的ActionMode實例,所以我可以保存它, ,但我沒有找到任何方式來獲取該實例。

回答

0

試試this解決方案。我想你會對如何使用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的構造函數,這很重要。

+0

但是在onSaveInstanceState()中,**我應該保存哪些對象**,你能否解釋一些更多 – user2614801

+0

你可以從'onCreate(Bundle savedInstanceState)'保存Bundle對象。 – 2013-08-31 07:39:01

+0

我嘗試了但劑量不起作用,我複製下面的代碼。 – user2614801

相關問題