首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭片段上的更新活动

关闭片段上的更新活动
EN

Stack Overflow用户
提问于 2016-06-29 17:07:08
回答 2查看 633关注 0票数 1

我有一个活动A。一旦A被加载,单击A中的一个按钮就会在A的主页布局上添加一个片段F。现在,一旦在F中,如果我调用getActivity().getSupportFragmentManager().popBackStack();,infacts再次导航到活动A中,那么一旦片段被弹出后堆栈,我是否可以真正地在活动A中进行一些更改?一旦片段被popbackstacked并且你有了你的活动,我就不知道在活动中调用了哪个方法。请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2016-06-29 17:13:23

您可以添加OnBackStackChangedListener()。只需这样做:

代码语言:javascript
复制
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener()
{
    public void onBackStackChanged() 
    {                   

    }
});

此回调将在后台堆栈上的每次更改后调用。

票数 1
EN

Stack Overflow用户

发布于 2016-06-29 17:23:46

在您的活动中创建并实现接口

代码语言:javascript
复制
public class MyFragment extends Fragment {
OnFragmentCloseListener mCallback;

// Container Activity must implement this interface
public interface OnFragmentCloseListener {
    public void onClosed(Bundle data);
}

//call this while closing the fragment
Bundle data = new Bundle();
data.putExtra("key"," value");
mCallback.onClosed(data);

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);

    // This makes sure that the container activity has implemented
    // the callback interface. If not, it throws an exception
    try {
        mCallback = (OnFragmentCloseListener) activity;
    } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString()
                + " must implement OnFragmentCloseListener ");
    }
}

}

在你的活动中

代码语言:javascript
复制
  public static class MainActivity extends Activity
    implements MyFragment.OnFragmentCloseListener {

   public void onClosed(Bundle data) {
    //get the budle data here
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38095026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档