2011-12-14 4 views
1

Я пытаюсь изменить текущую вкладку Tab. Я ищу подходящие проблемы, но он не решил мою собственную. У меня есть Tab активность, как этотПереключатель TabActivity внутри действия Android

<!-- language: java --> 
public class myTabActivity extends TabActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    final TabHost mtabHost = getTabHost(); 
    int tabnum = getIntent().getIntExtra("currenttab", 0); 


    mtabHost.addTab(mtabHost.newTabSpec("tab1") 
      .setIndicator("firsttab") 
       .setContent(new Intent(this, tabA.class))); 
    mtabHost.addTab(mtabHost.newTabSpec("tab1") 
      .setIndicator("secondtab") 
       .setContent(new Intent(this, tabB.class))); 
    setCurrentTab(tabnum); 
} 
private boolean setCurrentTab(int i) { 
    if (getParent() instanceof SimpleSundayScoutUIActivity) { 
     ((SimpleSundayScoutUIActivity) getParent()).getTabHost().setCurrentTab(i); 
     return true; 
    } 
    return false; 
} 

и активность Таб, как этот

public class text extends Activity { 
myTabActivity mA = (myTabActivity) this.getParent(); 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.mainpage); 
    Button startbutton= (Button) findViewById(R.id.searchbutton); 
    startbutton.setOnClickListener(mNewListener); 
} 
private OnClickListener mNewListener = new OnClickListener() { 

    public void onClick(View v) { 
     Intent intent = new Intent(v.getContext(),SimpleSundayScoutUIActivity.class); 
     intent.putExtra("currenttab", 1); 
     startActivity(intent); 
    } 
}; 

означает, что я хочу сделать, это Клик на кнопке Таба, а затем на вкладке виджет должен показать мне TABB но он не работает так

любые предложения? SRY я не очень вписывается в процитировать надежду на то считываемые

спасибо за помощь патрик

редактировать

mokup за то, что я хочу сделать http://tinypic.com/r/f6uyq/5

ответ

0

Отредактировано:

Класс вкладок:

public class myTabActivity extends TabActivity { 
public static TabHost mtabHost; // change to public static 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    mtabHost = getTabHost(); 
    int tabnum = getIntent().getIntExtra("currenttab", 0); 


    mtabHost.addTab(mtabHost.newTabSpec("tab1") 
      .setIndicator("firsttab") 
       .setContent(new Intent(this, tabA.class))); 
    mtabHost.addTab(mtabHost.newTabSpec("tab1") 
      .setIndicator("secondtab") 
       .setContent(new Intent(this, tabB.class))); 
    setCurrentTab(tabnum); 
} 
private boolean setCurrentTab(int i) { 
    if (getParent() instanceof SimpleSundayScoutUIActivity) { 
     ((SimpleSundayScoutUIActivity) getParent()).getTabHost().setCurrentTab(i); 
     return true; 
    } 
    return false; 
} 

Кнопка Класс:

public class text extends Activity { 
myTabActivity mA = (myTabActivity) this.getParent(); 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.mainpage); 
    Button startbutton= (Button) findViewById(R.id.searchbutton); 
    startbutton.setOnClickListener(mNewListener); 
} 
private OnClickListener mNewListener = new OnClickListener() { 

    public void onClick(View v) { 
    myTabActivity.mtabHost.setCurrentTab(1); //Remove .this 

    } 
}; 
+0

эй :) .. СРЮ это Dont решить мою проблему .. я знаю, этот пример я не хочу, чтобы установить мой вкладке все время, если я KLICK на кнопку одного tab Я хочу активировать другую вкладку виджета моей вкладки, подобную этой http://tinypic.com/r/f6uyq/5 – user1052984

+1

Ага, дай мне минутку, чтобы отредактировать ;-) – iSun

+1

Сделано, проверьте мои правки. – iSun

Смежные вопросы