我是Android应用程序开发的新手。我有一个片段(其布局包含一个垂直线性布局)。我在线性布局中动态添加一些视图。当我从纵向更改方向到横向时,将重新创建片段的布局,并且所有动态添加的视图都会消失。如何防止片段的布局重新创建?
编辑:下面的代码是片段内部。单击按钮(比如添加按钮)可以动态添加垂直线性布局中的视图,但更改方向会使这些视图消失。
buttonAdd.setOnClickListener(new OnClickListener(){
@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("");
}
});
答案 0 :(得分:0)
如果您更改了oriantation,将重新创建活动,因此您必须再次添加该片段。
如果您提出问题,请添加代码。你会得到更多的帮助。
使用活动生命周期方法: http://developer.android.com/training/basics/activity-lifecycle/index.html