我有一個應用程序,每當我退出通過家庭硬件按鈕的應用程序後不能正常工作的Android應用程序,它應該回到過去的狀態下,應用程序在,但是,當我再次啓動應用程序,該應用程序顯示只有我的標題欄的白色屏幕。當我點擊標題欄的按鈕時,應用程序崩潰,IllegalStateException
應用程序無法找到單擊按鈕的方法。恢復活動
我目前正在與Sherlocks片段,其中標題欄是一個操作欄執行。我也使用HTC Rhyme 2.3版(薑餅)。以下是添加片段到我的主應用程序的代碼。
代碼添加的片段的onCreate方法內的活動:
FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
Bundle bMain = getIntent().getExtras();
String statusCheck = "";
if (bMain != null) {
statusCheck = bMain.getString("statusCheck");
}
if (statusCheck.equals("web")) {
MyWebViewFragment webfrag = new MyWebViewFragment();
trans.add(R.id.container,webfrag, "WebViewFragment");
} else if(statusCheck.equals("traveloguelist")) {
MyTravelogueListFragment travelfrag = new MyTravelogueListFragment();
trans.add(R.id.container,travelfrag, "TravelogueListFragment");
}
trans.commit();
這是代碼當我改變的片段:
MyTravelogueListFragment travelfrag = new MyTravelogueListFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.container, travelfrag).addToBackStack(null).commit();
[編輯]
經過多次閱讀和運行後,我意識到主要問題是,在恢復應用程序時,實際上再次創建活動。因此,我傳入的一些參數沒有被註冊,導致錯誤的顯示。我THINK這是導致這種情況發生的錯誤:
Previously focused view reported id "myresID" during save, but can't be found during restore.
不過,我不知道你是怎麼強制應用程序記住片段的以前的狀態?或者還有別的辦法解決這個問題嗎?
我還是很堅持這一問題。如果有人能幫助我,會真的很感激!
我有同樣的崩潰,但我得到了片段中的上下文值。 什麼變量b得到getString(「」),如果我們有savedInstanceState null我們必須調用新鮮 – Prasad