0

Parcelables を使用して、MainContainerActivity の TabActivity に基づいて、タブ n からタブ n+1 アクティビティにデータを渡そうとしていますが、タブ n+1 インテントに「getExtras」メソッドを適用できないため、成功しません。

startActivity(nextactivity)でタブ スイッチャーを使用する代わりに、 を使用してタブ n+1 アクティビティを開始すると、パーセル可能なオブジェクトをあるタブから次のタブに渡すことができますtab.setCurrentTab(tab_n+1)

TabActivity を MainContainer クラスに実装し、Activity を tab に実装したまま、これらのパーセル化可能なオブジェクトを渡すことができるように、アクティビティの意図をどのように管理すればよいでしょうか?

または、使用時にマニフェストでアクティビティの開始を強制する方法はありtab.setCurrentTab(tab_n+1)ますか?

私は何十ものスレッドを読み、多くのさまざまなテストを試してきましたが、成功していないので、本当の初心者と同じように答えを詳しく説明してください:-)

編集:API8以降でこれを機能させることを目指しています

4

2 に答える 2

0

ここで説明されているように:

TabActivityの単一のタブでアクティビティを再開しますか?

必要なのは、インテントで新しいParcelableの「引数」を渡すことにより、アクティビティを破棄して再開することです。提案された方法はおそらく機能しますが、代わりにフラグメントの使用を検討することを強くお勧めします。Android 3より前のバージョンをサポートする場合は、サポートパッケージが必要になります。このスレッドにリストされている例:https ://stackoverflow.com/questions/5710573/need-a-fragments-exampleは、フラグメントの使用を開始するためのものです。

于 2012-06-04T11:31:59.517 に答える
0

私のシンプルな 3 つのタブ アプリケーションに対する簡単な答えは、こちらで説明されているようにグローバル オブジェクトを使用することだと思います。これにより、既存のソース コードを保持することもできます。

于 2012-06-05T00:00:07.637 に答える