StarDust
StarDust

Reputation: 855

Tab Fragment, Creating view each time tab switched

I explored few tab fragment example (Provided in Support4Demos one also) But I found that every time tab is switched, the tab content view is created each time from 'onCreateView' of the fragment class.

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.hello_world, container, false);
        View tv = v.findViewById(R.id.text);
        ((TextView)tv).setText("Fragment #" + mNum);
        tv.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.gallery_thumb));
        return v;
    }

Is it possible to create fragment views once when they are first created and will be shown/gone when switched between tabs instead of creating again?

Upvotes: 5

Views: 2207

Answers (2)

StarDust
StarDust

Reputation: 855

I think I found the solution. I need to use pager, which caches the tab and doesn't create new view each time it is switched.

Found it from here: How to cache a fragment view

Upvotes: 1

Warpzit
Warpzit

Reputation: 28152

No, you gotta get used to this idea and start saving important information for screen rotations and similar. Then when you create the view again you take the saved information and use it for initialization.

See here for a similar discussion. Basically in your fragments onActivityCreated you load the data and in your fragments onSaveInstanceState you save the data.

Upvotes: 0

Related Questions