2011-07-31 10 views
0

私はタブを保持する主なアクティビティを持ち、各タブは新しいアクティビティを開始します。新しい活動からタブのタイトルを変更するにはどうすればいいですか?ありがとう。別のアクティビティのタブホストタブタイトルを変更する

+2

アクティビティを含むタブは廃止されました。アクティビティではなく、タブにビューを表示するように切り替えてください。これにより、Honeycombのアクションバーでタブを管理することに簡単に移行することもできます。 – CommonsWare

答えて

0

アクティビティをタブコンテンツとして持つことは推奨されていませんが、それでもやりたいのであれば、ネストされたBroadcastReceiverを使用し、アクティビティコンテンツにブロードキャストインテントを送信させることが考えられます。テントを経由して(各「コンテンツ」の活動がMainActivityを指示する必要がありますように私には発生した。この時点で...

public class MainActivity extends Activity { 

    bool tabMonitorIsRegistered = false; 
    TabMonitor tabMonitor = null; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Other code 

     tabMonitor = new TabMonitor(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 

     if (!tabMonitorIsRegistered) { 
      registerReceiver(tabMonitor, new IntentFilter(Intent.com.mydomain.myapp.ACTION_TAB_CHANGE)); 
      tabMonitorIsRegistered = true; 
     } 
    } 


    @Override 
    protected void onPause() { 
     super.onPause(); 

     if (tabMonitorIsRegistered) { 
      unregisterReceiver(tabMonitor); 
      tabMonitorIsRegistered = false; 
     } 
    } 

    // Nested BroadcastReceiver 
    private class TabMonitor extends BroadcastReceiver { 

     @Override 
     public void onReceive(Context arg0, Intent arg1) { 

      // Process the Intent here to change the tab title 

     } 
    } 
} 

私はそれが動作するかはわからないが、私は、次のような何かをしようとするだろうそれは送信します)それは '誰'です。これを行うには、タブコンテンツを追加するときにIntent extraを使用します。それぞれを 'tab1'、tab2 'などと識別するアクティビティを作成します。たとえば、onCreate()などの' content 'アクティビティが開始すると、インテントではMainActivityにブロードキャストとして送信します。

関連する問題