3

Android アプリケーション用にいくつかのタブをセットアップしようとしていますが、行き詰まりました。

タブ間で通信する方法が見つかりません..

私は2つのタブを持っています。


|検索|結果|

検索タブには、TextEdit と「検索」ボタンが表示されているだけです。検索ボタンを押すと、アプリが結果タブに変わり、結果が表示されます。

新しいインテントを使用して、アクティビティとしてタブを追加しました

TabHost host=getTabHost();  

host.addTab(host.newTabSpec("one")  
   .setIndicator("Search")  
   .setContent(new Intent(this, SearchTabActivity.class)));  
host.addTab(host.newTabSpec("Result")  
   .setIndicator("Android")  
   .setContent(new Intent(this, ResultTabActivity.class)));  

今、私は SearchTabActivity が ResultTabActivity を表示し、そのビューを変更する方法を見つけることができません...

ヒントを楽しみにしています。

4

1 に答える 1

5

アクティビティをタブのコンテンツとして使用することを再検討する必要があります。より標準的なアプローチは、特定のタブが選択されたときにレイアウトの一部のみを表示するために、タブを使用する 1 つのアクティビティを使用することです。

Android のドキュメントには、優れた作業例があります。Hello, TabWidgetを確認してください。

何らかの理由でアクティビティを使用する必要がある場合は、各アクティビティを開くために使用するインテント内のエクストラ バンドルに値を追加するか、アプリケーションクラスを拡張することによって、それらの間で情報を渡すことができます。

Application クラスを拡張 (およびシングルトンとして実装) することで、アプリケーション コンポーネントが存在するときはいつでも存在するオブジェクトを取得し、アプリケーション コンポーネント間で複雑なオブジェクト データを格納および転送するための一元化された場所を提供します。

于 2009-07-07T07:17:31.190 に答える