Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding Fragment to back stack (getting a blank screen on back press)

I have two fragments, first is called Summer Jobs Fragment which contains a list of items and the second is called Summer Jobs Details Frgment which contains a the details of each item. Im trying to set back trace so that when I press the back button from Summer Jobs Detail Fragment I go back to Summer Jobs Fragment.

here is my code for the initial transition from SJF to SJDF:

public void onItemClick(
                    AdapterView<?>parent,View view, int position, long id) {

                SummerJobDetailsFragment.mMyAppsBundle.
                        putInt("value", position);
                SummerJobDetailsFragment fragment =
                        new SummerJobDetailsFragment();
                FragmentManager fragmentManager =
                        getFragmentManager();
                list.setVisibility(parent.INVISIBLE);
                fragmentManager.beginTransaction().replace(R.id.displayjobs_detailed, fragment).
                        addToBackStack( "tag" ).commit();

            }

and here is how I modified the OnBackPressed() in the main:

public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (getFragmentManager().getBackStackEntryCount() > 0 ) {
            getFragmentManager().popBackStack();

        } else {
            super.onBackPressed();

        }
    }

But when I press the back key from SJDF I get a blank screen :

list view details After back is pressed

like image 252
dadadodo Avatar asked Oct 26 '25 09:10

dadadodo


1 Answers

fragmentTransaction.addToBackStack() <--dont include this for your first fragment.-->

if(getSupportFragmentManager().getBackStackEntryCount() !=1){
                fragmentTransaction.addToBackStack(null);
            }
like image 71
Vishnu Kant Agarwal Avatar answered Oct 28 '25 23:10

Vishnu Kant Agarwal