2012-12-19 38 views

回答

1

FragmentD:

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

然后

父活动

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

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的结果到fragmentB。

+0

我想使用回退键执行从D跳转到B,但后退键由FragmentActivity控制。因此,接口调用onBackClicked()将不会完成。 – beiliubei

+0

修改了上面的代码。我希望这会起作用。 – Androider

+0

嗨Androider,有没有更简单的方法,如果我想要D的结果C当我按回键? –