我有一个从Fragment扩展的类,我想在该片段中创建一个表单。为此,我需要在不移出片段的情况下对不同的布局进行膨胀。 (图片描述和代码)
点击"下一步"时,应用必须转到"步骤2"但继续坚持" Denunciar"从上部选项卡
我尝试这样做,但我不知道错误在哪里
public class Tab1 extends Fragment implements View.OnClickListener{
ViewGroup container;
LayoutInflater inflater;
View v;
@Override
public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.tab_1,container,false);
Button buttonTab1 = (Button) v.findViewById(R.id.botonTab1);
buttonTab1.setOnClickListener(this);
this.container = container;
this.inflater = inflater;
return v;
}
@Override
public void onClick(View v) {
v = inflater.inflate(R.layout.tab_2,container,false);
}
}
答案 0 :(得分:2)
首先是不起作用,因为,你的片段只会在onCreateView()
方法上附加到视图上,而一旦视图附加到窗口,那么对于新视图,你必须再次重绘视图。再次如果您可以根据已应用的条件跟踪片段的状态,您可以分离并附加片段,这样它将再次创建片段,这会导致在某些条件下再次调用onCreateView()
,您可以更改布局文件
要处理此问题,您可以在片段中使用嵌套片段或ViewPager。
一些参考文献:
http://developer.android.com/about/versions/android-4.2.html#NestedFragments
https://github.com/commonsguy/cw-omnibus/tree/master/ViewPager/Nested