2

I have four Fragment A B C D.When I perform jumping from A to B and B to C and C to D. How can I get the result of D to B when I press back key?

Axxiss
  • 4,759
  • 4
  • 26
  • 45
beiliubei
  • 173
  • 1
  • 1
  • 8

1 Answers1

1

FragmentD:

Create an interface in FragmentD.

OnBackListener mback;
    public interface OnBackListener {
        public void onBackClicked();
}

@Override
    public void onAttach(Activity activity) {
        try {
            mback = (OnBackListener ) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnBackListener");
        }
        super.onAttach(activity);
    }


public void methodCall()
    {
      mback.onBackClicked()
    }

then

Parent Activity

Implement the OnBackListener interface that we created in FragmentD.

 public class MyActivity extends FragmentActivity implements OnBackListener {


// overriding OnBackListener interface method
        @Override
            public void onBackClicked() {

                  //calling fragmentb
            }   

    //Backkey event
        @Override
        public void onBackPressed()
        {
            super.onBackPressed();
            fragmentd.methodCall();
        }

        }

In the way, you will get result of fragmentD to fragmentB.

Androider
  • 803
  • 6
  • 18
  • I want to use back key to perform jumping from D to B,however the back key was controllered by FragmentActivity.So the interface call onBackClicked() won't be done. – beiliubei Dec 19 '12 at 13:13
  • Hi Androider, is there any easier way if I want the result of D to C when I press back key? – abhishek kumar gupta Jun 04 '13 at 15:12