2012-06-05 3 views
0

탭이 3 개인 탭 호스트가 있습니다. 탭 3에는 활동이 있습니다 : testActivity. 이 액티비티에는 버튼이 있습니다. 탭 3에서이 버튼을 클릭하면 탭 호스트 1에서 전환 할 수 있습니다. 자동으로 전환되어야합니다. 탭 1을 클릭하지 않습니다. 어떻게해야합니까?Android - 탭 호스트의 자동 전환 방법

public class TabhostActivity extends Activity{ 
public TabHost tabHost; 
private Resources res; 
Intent intent; 
TabHost.TabSpec spec; 
private LocalActivityManager mLocalActivityManager; 
protected int currentTab; 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.tabhost); 
    tabHost = (TabHost) findViewById(R.id.tabhost); 
    mLocalActivityManager = new LocalActivityManager(this, false); 
    mLocalActivityManager.dispatchCreate(savedInstanceState); 
    tabHost.setup(mLocalActivityManager); 
    res = getResources(); 
    intent = new Intent().setClass(this, SpinnerActivity.class); 
    spec = tabHost.newTabSpec("artists"); 

    spec.setIndicator("Sinner", null); 
    spec.setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, SonAndroidActivity.class); 
    spec = tabHost.newTabSpec("MAIN"); 
    spec.setIndicator("MAIN",res.getDrawable(R.drawable.ios_logo)); 
    spec.setContent(intent); 
    tabHost.addTab(spec); 


    intent = new Intent().setClass(this, testActiviy.class); 
    spec = tabHost.newTabSpec("Spinner"); 
    spec.setIndicator("TEST", null); 
    spec.setContent(intent); 
    tabHost.addTab(spec); 
} 

    tabHost.setOnTabChangedListener(new OnTabChangeListener() { 

     @Override 
     public void onTabChanged(String tabId) { 
      Log.v("tag", "click:" + tabHost.getCurrentTab()); 
      currentTab = tabHost.getCurrentTab();     
} 

및 이벤트 활동 탭 3 :

public class testActiviy extends TabhostActivity{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.test); 
    } 

    public void btn_onClick(View v) 
    { 
     tabHost.setCurrentTab(0); 
     Log.v("tag", "clickkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");  
    } 
} 

답변

0

먼저 사용하여 onClick 방법에 tabHost에 대한 참조를 얻으려고 getParent()

0
public void btn_onClick(View v) 
{ 
    LocalActivityManager l = new LocalActivityManager(); 
    l.tabHost.setCurrentTab(0); 
}