Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何处理android片段backstack?_Android_Android Fragments - Fatal编程技术网

我如何处理android片段backstack?

我如何处理android片段backstack?,android,android-fragments,Android,Android Fragments,我有四个片段A B C D。当我从A跳到B、B跳到C、C跳到D时。当我按back键时,如何获得D到B的结果?片段D: 在碎片中创建一个接口 OnBackListener mback; public interface OnBackListener { public void onBackClicked(); } @Override public void onAttach(Activity activity) { try {

我有四个片段A B C D。当我从A跳到B、B跳到C、C跳到D时。当我按back键时,如何获得D到B的结果?

片段D:

在碎片中创建一个接口

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()
    }
 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();
        }

        }
然后

家长活动

实现我们在FragmentD中创建的OnBackListener接口

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()
    }
 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();
        }

        }

在这种情况下,您将获得从碎片到碎片B的结果。

检查此项是否要将信息从D发送回B,还是只显示B?我想使用back键执行从D到B的跳转,但是back键由碎片活动控制。因此,Backclicked()上的接口调用将无法完成。您好,Androider,如果我想在按back键时得到D到C的结果,有没有更简单的方法?