Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android first tab intent oncreate always called regardless we set tab2 as default tab

Following is the example of tabs with intent data.

While debugging i found that always when first tab we add in tab host in our case following tab

tabHost.addTab(tabHost.newTabSpec("tab1")
                    .setIndicator("list")
                    .setContent(new Intent(this, List1.class)));

oncreate method of "List1" intent get called regardless it is our current tab or not even if if i define tab2 as a current tab how to fix this ?

public class Tabs3 extends TabActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final TabHost tabHost = getTabHost();

        tabHost.addTab(tabHost.newTabSpec("tab1")
                .setIndicator("list")
                .setContent(new Intent(this, List1.class)));

        tabHost.addTab(tabHost.newTabSpec("tab2")
                .setIndicator("photo list")
                .setContent(new Intent(this, List8.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

        // This tab sets the intent flag so that it is recreated each time
        // the tab is clicked.
        tabHost.addTab(tabHost.newTabSpec("tab3")
                .setIndicator("destroy")
                .setContent(new Intent(this, Controls2.class)
                        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
    }
}
like image 879
d-man Avatar asked Nov 14 '22 12:11

d-man


1 Answers

setDefaultTab(1);

seems not to be working in TabActivity when separate Activities are used as Tab Content.

Use following instead of this method,

tabHost.setCurrentTab(1);

This will set "photo list" (i.e second tab) as the selected or default tab...

like image 54
Vijay C Avatar answered Dec 19 '22 00:12

Vijay C