Android fragments 在片段内动态添加的视图在更改方向时消失

Android fragments 在片段内动态添加的视图在更改方向时消失,android-fragments,Android Fragments,我是android应用程序开发新手。我有一个片段(其中的布局包含一个垂直线性布局)。我正在线性布局中动态添加一些视图。当我将方向从纵向更改为横向时,片段的布局将重新创建,所有动态添加的视图将消失。如何防止碎片的布局重新创建 编辑:下面的代码在片段内部。单击按钮(如“添加按钮”)可在垂直线性布局中动态添加视图,但更改方向后这些视图将消失 setOnClickListener(新的OnClickListener(){ 如果更改起始位置,活动将重新创建,因此您必须再次添加片段 如果您提出问题,请添加代

我是android应用程序开发新手。我有一个片段(其中的布局包含一个垂直线性布局)。我正在线性布局中动态添加一些视图。当我将方向从纵向更改为横向时,片段的布局将重新创建,所有动态添加的视图将消失。如何防止碎片的布局重新创建

编辑:下面的代码在片段内部。单击按钮(如“添加按钮”)可在垂直线性布局中动态添加视图,但更改方向后这些视图将消失

setOnClickListener(新的OnClickListener(){


如果更改起始位置,活动将重新创建,因此您必须再次添加片段

如果您提出问题,请添加代码。您将获得更多帮助

使用活动生命周期方法:

阅读这篇文章:

到目前为止你做了什么?@Ormoz:我已经添加了相关代码
        @SuppressWarnings("unchecked")
        @Override
        public void onClick(View arg0) {

            methodForCheckEmail(textIn);

            if(textIn.getText().toString().length() == 0) {
                Toast.makeText(getActivity(), "please enter valid email", Toast.LENGTH_LONG).show();
            } else if (textIn.getText().toString().length() > 0 && checkEmail == false) {
                Toast.makeText(getActivity(), "please enter valid email", Toast.LENGTH_LONG).show();
            } else {

                LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                final View addView = layoutInflater.inflate(R.layout.row2, null);

                final TextView textOut = (TextView) addView.findViewById(R.id.textout);
                textOut.setText(textIn.getText().toString());
                Button buttonRemove = (Button) addView.findViewById(R.id.remove);
                arrayList.add(textIn.getText().toString());

                buttonRemove.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        ((LinearLayout) addView.getParent()).removeView(addView);
                        // textIn.setText("");
                        arrayList.remove(textOut.getText().toString());
                    }
                });
                textIn.setText("");
                container.addView(addView);
            }
            //textIn.setText("");
        }
    });