从OnClick侦听器中扩展布局

时间:2015-03-06 20:59:11

标签: android android-layout android-fragments

我有一个从Fragment扩展的类,我想在该片段中创建一个表单。为此,我需要在不移出片段的情况下对不同的布局进行膨胀。 (图片描述和代码)

When clicking in "Next", the app must go to the "step 2" BUT keep the "Denunciar" TAB from upside

  

点击"下一步"时,应用必须转到"步骤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);
    }
}

1 个答案:

答案 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