Search code examples
javaandroidandroid-fragmentsandroid-viewpager

How To Set Default Layout in Android


I have a two layouts that scroll back and forth in an Activity. When I press the home button, it returns to the first layout. What I want to do is set the "home" layout to be the second layout i.e. when i press the home button I want it to return to the second screen and not the first. I am having trouble doing this, if anyone could help me I would be very grateful. I didn't include the XML files they have nothing important.

Launcher.java

public class Launcher extends FragmentActivity {

    ViewPager viewpager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launcher)

        viewpager = (ViewPager) findViewById(R.id.pager);
        PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager());
        viewpager.setAdapter(adapter);

    }
}

PagerAdapter.java

public class PagerAdapter extends FragmentPagerAdapter {

    public PagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int arg0) {
        switch (arg0) {
            case 0:

                return new Fragment1();

            case 1:

                return new Fragment2();

            default:
                break;
        }
        return null;
    }

    @Override
    public int getCount() {
        return 2;
    }

}

Fragment1.java

public class Fragment1 extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        return inflater.inflate(R.layout.activity_apps,container,false);
    }

}

Fragment2.java

public class Fragment2 extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        return inflater.inflate(R.layout.activity_homescreen,container,false);
    }

}

Solution

  • If you are using PagerAdapter then use this line to set your default layoutmViewPager.setCurrentItem(1); this will set your 2nd layout as default, layout number starts from 0,1,2,... Hope this thing help you out.