タブアクティビティと5つの子アクティビティがあります。
タブアクティビティはランチャーアクティビティです。
アクティビティ1がを使用して開始されるtabHost.setCurrentTabByTag(CommonParams.HOME_TAG);
と、電話の戻るボタンを押すと、Actvitiy1のOnBackPressedが起動します。
しかし、アクティビティ1を開始し、2番目のタブをクリックしてアクティビティ2に移動し、1番目のタブをクリックしてアクティビティ1に戻ると、電話の戻るボタンを押してもOnBackPressed()は起動しません。アプリを終了させます。
次のコードでタブプレスのアクティビティをロードします。
intent = new Intent().setClass(this, Activity1.class);
spec = tabHost
.newTabSpec(CommonParams.HOME_TAG)
.setIndicator("Home",
res.getDrawable(R.drawable.ic_tab_home))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Activity2.class);
spec = tabHost
.newTabSpec(CommonParams.PAGE2_TAG)
.setIndicator("Page2",
res.getDrawable(R.drawable.ic_tab_page2))
.setContent(intent);
tabHost.addTab(spec);
そのため、ホームからPage2に移動し、タブを使用してホームに戻ると、アクティビティ1は新しく開始されません。再開されます。再開されたアクティビティでOnBackPressed()が起動されていないと思います。
活動が焦点を失ったようなものですか?もしそうなら、アクティビティがフォーカスを失うのを避ける方法、またはアクティビティOnResume()にフォーカスを与える方法は?
誰かがOnBackPressedが起動しない理由と、それを機能させる方法を見つけるのを手伝ってくれませんか。
前もって感謝します