перейти с одной вкладки на другую - PullRequest
0 голосов
/ 24 июня 2011

я хочу сделать намерение из вкладки в другую .. как я могу это сделать? Я только сейчас, как сделать между деятельностью. и мне нужно перейти от вкладки к другой ..

у меня есть этот код для вкладок

public class Main extends TabActivity

{

@Override
protected void onCreate(Bundle savedInstanceState)
{
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);



     Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab


        // Create an Intent to launch an Activity for the tab (to be reused)
        //intent = new Intent().setClass(this, Contas.class);
        Intent a = new Intent(Main.this, Contas.class);
        Intent b = new Intent(Main.this, Registros.class);
        Intent c = new Intent(Main.this, Relatorios.class);
        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("Contas").setIndicator("Contas",
                          res.getDrawable(R.drawable.ic_tab_accounts))
                      .setContent(a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
        tabHost.addTab(spec);


        // Do the same for the other tabs
        //intent = new Intent().setClass(this, Registros.class);
        spec = tabHost.newTabSpec("Registros").setIndicator("Registros",
                          res.getDrawable(R.drawable.ic_tab_registry))
                      .setContent(b.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
        tabHost.addTab(spec);

        //intent = new Intent().setClass(this, Relatorios.class);
        spec = tabHost.newTabSpec("Relatorios").setIndicator("Relatorios",
                          res.getDrawable(R.drawable.ic_tab_reports))
                      .setContent(c.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
        tabHost.addTab(spec);

        tabHost.setCurrentTab(0);


}

}

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Вместо того, чтобы вызывать намерение, вы можете просто установить выбранную вкладку. Используйте

intent.putExtra("tabIndex", index);

и назовите деятельность. Теперь в вызывающей активности onCreate() или onResume() используйте

int index = getIntent().getExtraInt("tabIndex", -1);
if(index != -1)
    tabHost.setCurrentTab(index);
0 голосов
/ 24 июня 2011

Вместо того, чтобы вызывать намерение, вы можете просто установить выбранную вкладку.tabHost.setCurrentTab(index)

...