ホームハードウェアボタンを使用してアプリケーションを終了すると、アプリケーションが最後の状態に戻るはずのアプリケーションがあります。ただし、アプリケーションを再度起動すると、アプリケーションにヘッダーバーのみの白い画面が表示されます。そして、ヘッダーバーのボタンをクリックすると、アプリケーションがクラッシュし、IllegalStateException
クリックされたボタンのメソッドが見つかりません。
私は現在、ヘッダーバーがアクションバーであるSherlocksFragmentを使用して実装しています。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();
[編集]
よく読んで実行した後、主な問題は、アプリケーションを再開すると、アクティビティが実際に再度作成されることであることに気付きました。したがって、渡したパラメーターの一部が登録されず、誤った表示になります。私はこれがそれを引き起こしているエラーだと思います:
Previously focused view reported id "myresID" during save, but can't be found during restore.
ただし、フラグメントの以前の状態をアプリケーションに強制的に記憶させる方法がわかりませんか?または、この問題を回避する他の方法はありますか?
私はまだこの問題で非常に立ち往生しています。誰かが私を助けてくれるなら本当に感謝します!