因此,一旦从 ListView
中选择了 ListItem
,我就会尝试更改我的 Fragment
布局。我不太确定我会怎么做。这是我正在使用的代码的基础...
@Override
public View onCreateView(final LayoutInflater inflater,final ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_list_d, container, false);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Getting list item index
int listIndex = position;
((IndexListener) getActivity()).onIndexSelected(listIndex);
}
});
return rootView;
}
我特意删除了部分代码,以使其尽可能与问题相关。
总结
那么,一旦点击了 ListItem
,我该如何修改 rootView
以返回不同于 R.layout.fragment_list_d
的不同布局格式?
最佳答案
如果您不想进行 fragment 替换,您唯一的选择是获取父级,删除您以前的内容并添加新内容。
首先将 rootView 存储在类字段中,以便在通过 onCreateView 后获取其引用,然后执行:
ViewGroup parentView =rootView.getParent();
parentView.removeView(rootView);
View newRootView = inflater.inflate(R.layout.newlayout, parentView, false);
parentView.addView(newRootView);
像这样的东西应该工作(没有测试,只是从我的脑子里写的)
希望这对您有所帮助。
关于java - 单击 ListItem 后如何更改 fragment 布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476955/