0

How can i back form fragment 1 to activity? My MainActivity go to -> fragment A/B then i want to back to MainActivity. But if i do it By onBackPressed() Method , that will close it app. How can i solve it ? Have any ways to fix it ?Thx

P.S. My fragment is an full page not a tab bar or list. That is change the hole page in the activity

Here is my code:

    MainActivity:
    @Override
      public void onBackPressed() {
        if (getSupportFragmentManager().findFragmentByTag("Frag1") != null) {
          getSupportFragmentManager().popBackStackImmediate("Frag1",0);
        } else {

          super.onBackPressed();
        }
      }
    change fragments methods:
case 0:
        fragment = new webportal();

        bundle = new Bundle();
        bundle.putString("key", mLoginHost);
        fragment.setArguments(bundle);
        break;
      case 1:
        fragment = new keypaf();


          bundle = new Bundle();
        LcLoginClient.LcService service =
                mLoginClient.getService(PACKAGE_NAME_VOICE_CALL_SERVER);
        if (service != null) {
          serverPort = Integer.valueOf(service.get(LcLoginClient.LcService.Key.KEY_PORT));

          bundle.putString("key", mLoginHost);
          fragment.setArguments(bundle);
        }
        break;
 }
currentFragment = i;

    if (fragment != null) {
      FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
      ft.replace(R.id.fragment_container, fragment).addToBackStack("Frag1").commit();
    }

Fragment A To fragment B/c method :

    public void keypad(View v) {


            Fragment fragment = new keypaf();
            Bundle bundle = new Bundle();

                bundle.putString(
                        host, mLoginHost);

                fragment.setArguments(bundle);
                FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragment_container, fragment).addToBackStack("Frag1");
                fragmentTransaction.commit();
    }
public void remote(View v) {
        Fragment fragment = new Remote();
        Bundle bundle = new Bundle();
bundle.putString(
                        remote, mLoginHost);
            fragment.setArguments(bundle);
            FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, fragment).addToBackStack("Frag1");

            fragmentTransaction.commit();
        }

    }

Can anyone can help me ??

Tszhang Ho
  • 11
  • 3

0 Answers0