我有一个扩展fragment
的java类,如您所知onCreateView
,layout view
将返回fragment
容器。现在,我想夸大退回的
View view = inflater.inflate(R.layout.fragment00, null);
return view;
使用xml文件中的其他布局或视图。
Updat
onCreateView()
将返回view
上显示的fragment conatiner
。现在,我想将view
与另一个xml
文件一起膨胀。那可能吗。?我希望现在很清楚。
知道怎么做吗?
代码:
//I want to inflate "view" with another layout or views from another xml file
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.fragment00, null);
return view;
答案 0 :(得分:0)
在带有id容器的fragment00.xml中添加类似LinerLayout / Relative布局的ViewGroup,然后在运行时可以尝试类似
的内容View newView = inflater.inflate(R.layout.new_view,null);
LinearLayout container = getView().findViewById(R.id.container);
container.addView(newView,newLinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
答案 1 :(得分:0)
由于您正在使用片段,因此可以多次交换或调出,但这样做会再次调用onCreate
和onCreateView
方法,因此视图将基本上被重置。如果你想在实例化之后返回一个片段并使用FragmentTransaction来显示它,只需在替换时将其添加到backstack中,如下所示:
fragmentTransaction.replace(R.id.contentframe, myfrag)
.addToBackstack(null)
.commit();
现在你可以回到片段而无需使用FragmentManager重新实现它,如下所示:
getFragmentManager().popBackStack().commit();
你可以再次操纵它。
否则我没有看到任何方式第二次膨胀片段而不经历片段的生命周期。