我有两个布局,分别是layout1和layout2。
最初在我的片段的onCreateView方法中,我使用了layout1,如下所示:
为了访问 layout2 的字段,我创建了一个类并在按钮的 onClick 事件中实例化它:
现在我想从 layout2 返回 layout1,我做了同样的事情并改变了视图但是字段不起作用,例如 layout1 的 onClick 按钮现在没有响应。
提示:我不想再启动片段,我只想要我的以前的layout1而不是新的一个。
我该如何返回,以便我可以使用之前状态的 layout1?
最初在我的片段的onCreateView方法中,我使用了layout1,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
rootView = inflater.inflate(R.layout.layout1, container, false);
Button button = (Button) rootView.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setViewLayout(R.layout.layout2);
}
});
return rootView;
}
在单击按钮之后,我将rootView从layout1更改为layout2,它能够正常工作:
这是我如何进行更改的:
private void setViewLayout(int id){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rootView = inflater.inflate(id, null);
ViewGroup viewGroup = (ViewGroup) getView();
viewGroup.removeAllViews();
viewGroup.addView(rootView);
}
为了访问 layout2 的字段,我创建了一个类并在按钮的 onClick 事件中实例化它:
现在我想从 layout2 返回 layout1,我做了同样的事情并改变了视图但是字段不起作用,例如 layout1 的 onClick 按钮现在没有响应。
提示:我不想再启动片段,我只想要我的以前的layout1而不是新的一个。
我该如何返回,以便我可以使用之前状态的 layout1?