Android: Как установить текущую выбранную вкладку, нажав на каждую кнопку?

1

У меня есть приложение, в котором у меня три кнопки на первой странице (например, скажем, кнопки A, B, C). Когда я нажму на любую из этих трех кнопок, они перейдут на ту же страницу tabActivity. По умолчанию выбирается первая вкладка. Но я хочу, чтобы, когда я нажимаю кнопку "А", первая вкладка должна быть выбрана. когда я нажимаю на кнопку B, вторая вкладка должна быть выбрана. когда я нажимаю на кнопку C, третья вкладка должна быть выбрана. Я не знаю, как это сделать. Может ли кто-нибудь помочь мне в этом?

Заранее спасибо...

  • 0
    я внес изменения в ответ пользователя, проблема в том, что он в последний раз установил tabhost.setcurrenttab (2), по умолчанию он переходит на вторую вкладку, либо вместо 2, вы можете использовать 1 или удалить эту строку, это оба работает для вас
Теги:
tabs

2 ответа

2

Попробуй это,

при нажатии кнопки A

tabHost.setCurrentTab(0); 

при нажатии кнопки B

tabHost.setCurrentTab(1); 

при нажатии кнопки C

tabHost.setCurrentTab(2);
1

в вашем классе активности попробуйте это, и в моем приложении работает нормально.

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, ArtistsActivity.class);
            // Initialize a TabSpec for each tab and add it to the TabHost
            spec = tabHost.newTabSpec("artists").setIndicator("Artists",
                              res.getDrawable(R.drawable.ic_tab_artists))
                          .setContent(intent);
            tabHost.addTab(spec);

            // Do the same for the other tabs 
           intent = new Intent().setClass(this, AlbumsActivity.class); 
           spec = tabHost.newTabSpec("albums").setIndicator("Albums", 
                             res.getDrawable(R.drawable.ic_tab_albums))
                          .setContent(intent);
            tabHost.addTab(spec);

            intent = new Intent().setClass(this, SongsActivity.class);
            spec = tabHost.newTabSpec("songs").setIndicator("Songs",
                              res.getDrawable(R.drawable.ic_tab_songs)).setContent(intent);
            tabHost.addTab(spec);   
        }

Надеюсь, это поможет вам

  • 0
    Привет, с вышеуказанным кодом вторая вкладка выбирается по умолчанию. Но мой requiremnet другой. Я хочу, чтобы вторая вкладка была выбрана, только когда я нажимаю кнопку «B» на первой странице. Третья вкладка должна быть выбрана только тогда, когда я нажму кнопку «с» на первой странице.
  • 0
    Просто вырежьте и вставьте этот tabHost.setCurrentTab (2); в интенте, где вы хотите, чтобы вкладка была по умолчанию

Ещё вопросы

Сообщество Overcoder
Наверх
Меню