如何将嵌套片段渲染为主要活动??
这是我的层次结构mainAcivity有三个动态片段
里面的RsOneFragment包含另一个childone片段......
主要活动 - > RsOneFragment - > ChildOneFragment - > ChildFirstFragment
mainActivity - > RsTwoFragment
mainActivity - > RsThreeFragment
如何将childFistFragemt渲染为mainActivity
如何实现这一点,请帮忙 这是我的代码片段
MainAcivity
fragmentOneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.enter_anim, R.anim.exit_anim);
transaction.replace(R.id.fragmentContainer, new RsOneFragment());
transaction.commit();
}
});
RsOneFragment extends Fragment:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_rsslist_overview, container, false);
insertNestedFragment();
return view;
}
private void insertNestedFragment() {
Fragment fragment = new ChildOneFragment();
FragmentTransaction transaction =getChildFragmentManager().beginTransaction();
transaction.replace(R.id.child_fragment_container_two, fragment).commit();
}
ChildOneFragment extends Fragment:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_child, container, false);
childRsOneImage = (ImageView) view.findViewById(R.id.childRsOneImage);
fragmentContainer = (FrameLayout) getActivity().findViewById(R.id.fragmentContainer);
childRsOneImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.enter_anim, R.anim.exit_anim);
transaction.replace(R.id.fragmentContainer, new ChildFirstFragment());
transaction.addToBackStack(null);
transaction.commit();
}
});
return view;
}
childRsOneImage点击它显示以下错误.. 处理:com.example.NestedFragmentsExample,PID:1885 java.lang.IllegalArgumentException:找不到id 0x7f080055
的视图Hope u would understand my problem...
Any help appreciated..Thanks a lot!!!
答案 0 :(得分:0)
我能够自己解决问题。 而不是
FragmentManager manager = getFragmentManager();
我这样替换 FragmentManager manager = getActivity()。getFragmentManager();
并且工作正常......