我有一个活动A。一旦A被加载,单击A中的一个按钮就会在A的主页布局上添加一个片段F。现在,一旦在F中,如果我调用getActivity().getSupportFragmentManager().popBackStack();,infacts再次导航到活动A中,那么一旦片段被弹出后堆栈,我是否可以真正地在活动A中进行一些更改?一旦片段被popbackstacked并且你有了你的活动,我就不知道在活动中调用了哪个方法。请帮帮忙。
发布于 2016-06-29 17:13:23
您可以添加OnBackStackChangedListener()。只需这样做:
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener()
{
public void onBackStackChanged()
{
}
});此回调将在后台堆栈上的每次更改后调用。
发布于 2016-06-29 17:23:46
在您的活动中创建并实现接口
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 ");
}
}
}在你的活动中
public static class MainActivity extends Activity
implements MyFragment.OnFragmentCloseListener {
public void onClosed(Bundle data) {
//get the budle data here
}
}https://stackoverflow.com/questions/38095026
复制相似问题