0

TextView을 포함하는 사용자 지정 레이아웃이있는 Tab이 있습니다. 나중에 실제 탭 하위에서 해당 텍스트를 업데이트해야합니다. 나는 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

정상적으로 알아 냈습니다.

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"); 

그리고 지금 당신이

: 알을 TabActivity에서

나는이 방법이