1

厄介な問題に直面しています。タブ ホスト Aタブ ホスト Bの2 つのタブ ホストがあります。各タブ ホストには 3 つのタブがあります (A1、B1、A2、B2 などと呼びましょう)。タブ ホスト B は、アクティビティ A2 から起動されます。とにかく、ここに私の問題があります:

タブホスト B のタブの 1 つにいて、組み込みの戻るボタンを使用してアクティビティ A2 に戻ると、onResume呼び出されません。なぜそうなるのか理解できません...アクティビティのライフサイクルに関する記事を読んだところ、タブホストBが起動するとすぐに、アクティビティA2のonStopメソッドが呼び出されるべきだったようです...そしてすぐにA2 の onStart メソッドと onResume メソッドが呼び出されているはずの [戻る] ボタンを使用して戻ってきました。私が考えることができる唯一のことはonResume、再開時にActivty A2の代わりにTab Host Aが呼び出されている可能性があるということです。どんな助けでも大歓迎です!

これは、タブ ホスト A から A2 をキックするために使用しているコードです。

intent = new Intent().setClass(this, FiltersActivity.class);
spec = tabHost.newTabSpec("filters").setIndicator("Filters",
       res.getDrawable(R.drawable.ic_tab_filters)).setContent(intent);
tabHost.addTab(spec);
4

1 に答える 1

0

開発者ページのコメントは答えを継承します

 // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, ArtistsActivity.class);

アクティビティはタブ仕様にラップされ、そのライフサイクルは仕様に関連しています。

あなたがやりたいことは、タブに切り替えて呼び出すときに呼び出す独自のメソッドを提供することです。

getTabHost().setCurrentTab(resumeTab);
Activity filtersActivity = this.getCurrentActivity();
filtersActivity.yourMethod();
于 2012-05-15T11:11:45.307 に答える