0

我有一個Tab,它具有包含TextView的自定義佈局。 我需要稍後從實際的選項卡子中更新該文本。編輯自定義選項卡的文本

下面是我在TabActivity

private void setupTab(final String tag) { 

//Call createTabView() to give the tab a layout with some text 
     View tabview = createTabView(mTabHost.getContext(), tag); 

     Intent intent = new Intent().setClass(this, MyActivity.class); 
     TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(intent); 

     mTabHost.addTab(setContent); 
     mTabList.add(setContent); 

    } 


    private View createTabView(final Context context, final String text) { 
      View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null); 
      TextView tv = (TextView) view.findViewById(R.id.tabsText); 
      tv.setText(text); //we set the text of the tab here. 

      LinearLayout tvX = (LinearLayout) view.findViewById(R.id.tabsLayout); 

      return view; 
     } 

設定,讓有我如何設置它。現在,在孩子選項卡的活動,我需要它來更新文本...我想如果我沒有自定義選項卡下面會工作......

((TabActivity)getParent()).getTabHost().setTag(((TabActivity)getParent()).getTabHost().getCurrentTab(), "new text"); 

但我需要自定義選項卡:)

沒有人有任何意見或建議? 謝謝

回答

0

好吧,我明白了!

TabActivity我有這樣的方法:

protected void updateText(int key, String text) { 
    View view = mTabHost.getCurrentTabView(); 
    TextView tv = (TextView) view.findViewById(R.id.tabsText); 
    tv.setText(text);  
} 

然後在我的孩子標籤我稱之爲:

((MyTabActivity)getParent()).updateText(((TabActivity)getParent()).getTabHost().getCurrentTab(), "The new text"); 

現在你知道:)