2011-06-30 4 views
2

私は、2つのタブでTabActivityクラスを拡張するMyTabActivityを作成しました。は、選択したアクティビティタブデータに基づいてTabActivityのタイトルを動的に変更します

public class MyTabActivity extends TabActivity { 

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

     setTitle("My App Name"); 

     final TabHost tabHost = getTabHost(); 

     tabHost.addTab(tabHost.newTabSpec(TAB_1).setIndicator(TAB_1, getResources().getDrawable(R.drawable.tab1)).setContent(new Intent(this, first.class))); 

     tabHost.addTab(tabHost.newTabSpec(TAB_2).setIndicator(TAB_2, getResources().getDrawable(R.drawable.tab2)).setContent(new Intent(this, second.class))); 

     tabHost.setOnTabChangedListener(new OnTabChangeListener() { 

     public void onTabChanged(String tabId) { 

      } 
     }); 

     tabHost.setCurrentTabByTag(TAB_1); 
    } 
} 

アクティビティデータの変更に応じて、MyTabActivityのタイトルを変更する必要があります。

public class first extends Activity { 
    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     //change the MyTabActivity title from here ??? 
    } 

} 

どうすればいいですか?

おかげ

答えて

1

あなたは、このようなあなたのTabActivity内部の子供Activityを得ることができます。 FirstActivityまたはSecondActivityの場合は、このようなものを試してみてください。

MyTabActivity myTabs = (MyTabActivity) this.getParent(); 
myTabs.setTitle("This is First cool Activity"); 

SecondActivityでも同じことができます。

乾杯!

+0

回答ありがとうございましたが、動作しません。タイトルを設定した後、UIリフレッシュの種類を呼び出す必要がありますか? – Rishi

+0

実際に私のFirstActivityはListActivityから拡張されていますが、これは問題ではありませんか? – Rishi

関連する問題