2

I am trying to create layout for an app, that will show Fragments using ViewPager when in Portrait orientation, and side by side when in Landscape mode. So I created custom layout for Landscape mode, inlcuded fragments there and works, but only when I rotate it once. When I rotate it back to Portrait mode, and again to Landscape mode, app crashes and logcat gives me error: Fragment has not been attached yet.

MainActivity.java

    public class MainActivity extends AppCompatActivity {
    private static final String TAG="MainActivity";
    private SectionsPageAdapter mSectionsPageAdapter;
    private ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG,"onCreate: Starging.");


        if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

            mSectionsPageAdapter = new SectionsPageAdapter(getSupportFragmentManager());
            mViewPager = (ViewPager) findViewById(R.id.container);
            setupViewPager(mViewPager);
            TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
            tabLayout.setupWithViewPager(mViewPager);
        }
    }
    private void setupViewPager(ViewPager viewPager){
        SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
        adapter.addFragment(new Fragment1(),"Zakladka1");
        adapter.addFragment(new Fragment2(),"Zakladka2");
        viewPager.setAdapter(adapter);

    }
}

One of fragments:

    public class Tab_Sun extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        if (!isAdded()){return null;} ;


        View rootView = inflater.inflate(R.layout.tabsun, container, false);
        //AstroCalculator.Location pozycja;
        //pozycja.setLatitude();


        return rootView;
    }
}

Full app: https://www.dropbox.com/s/0zcu3y7ej1fa9on/MyApplication3.zip?dl=0

0 Answers0