Prevent Fragment's onCreateView to be always called upon click on Fragment TabHost

290 Views Asked by At

I have following code inside my Fragment:

    tabHost = (FragmentTabHost) view.findViewById(android.R.id.tabhost);
    tabHost.setup(activity, getChildFragmentManager(), android.R.id.tabcontent);

    tab1.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            tabHost.setCurrentTabByTag("Tab 1");
        }
    });
    tab2.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            tabHost.setCurrentTabByTag("Tab 2");
        }
    });
    // ---
    tabHost.addTab(tabHost.newTabSpec("Tab 1")
            .setIndicator("Title 1", res.getDrawable(R.drawable.ic_tab_1)), Fragment1.class, null);
    tabHost.addTab(tabHost.newTabSpec("Tab 2")
            .setIndicator("Title 2", res.getDrawable(R.drawable.ic_tab_2)), Fragment2.class, null);
    // ---
    tabHost.setCurrentTab(0);

I observe every time I click my both tab buttons, it will call onCreateView my both Fragment 1 and Fragment 2 onCreateView.

Any advise how to prevent it?

0

There are 0 best solutions below