【问题标题】:how to get callback from fragment to fragment如何从片段到片段获取回调
【发布时间】:2018-11-30 18:37:34
【问题描述】:

我有两个片段 Parent 和 child,现在我正在尝试使用回调从 childFragment 获取一些值到 parentFragment。

这是我迄今为止尝试过的:

添加子片段

 activity.getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.frame_layout, fragment).addToBackStack(null)
                .commit();

现在在 childFragment 的 buttonClick 上,我想得到对 parentFragment 的响应。

示例:

nearestCenter.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
           if (getFragmentManager() != null) {
        getFragmentManager().popBackStack();
    }
    }
});

附言 我知道如何处理 Activity 到 Fragment,但是有什么方法可以从 Fragment 到 Frag 进行回调。

【问题讨论】:

标签: android android-fragments


【解决方案1】:

您可以使用以下代码。当然你要小心类转换异常和空指针异常。

private void callParentFragmentMethod(){
    ParentFragment f = (ParentFragment) getParentFragment();
    f.someMethod();
}

【讨论】:

    【解决方案2】:

    你可以像这样使用界面进行交互:

    public interface MyInterface{
      void sendMessageToParent(Parameters parameter);
    }
    

    现在像这样在你的父片段上实现这个 -

    public class ParentFragment implements MyInterface{
    
      public static Myinterface myinterface;
    
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         super.onCreateView(inflater, container, savedInstanceState);
    
         // Register your interface like this. 
         myinterface = this;
    
         return view;
    }      
    
      @Override
      public void sendMessage(Parameters Parameters){
    
      }
    }
    

    现在从子活动中这样称呼它:-

    if(ParentFragment.myinterface!=null){
      ParentFragment.myinterface.sendMessageToParent(parameters);
    }
    

    这样就可以了。并确保在父级的 onDestroy 中将其分配为 null,如下所示:-

    myinterface = null;
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      相关资源
      最近更新 更多