单击ListItem后如何更改片段布局?

时间:2016-04-07 12:59:22

标签: java android android-layout listview android-fragments

一旦从Fragment中选择了ListItem,我就会尝试更改ListView布局。我不太确定我会怎么做呢。这是我正在使用的代码的基础......

@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;

}

我故意删除了代码的各个部分,以使其尽可能与问题相关。

摘要

那么,点击rootView后,如何修改R.layout.fragment_list_d以返回ListItem以外的其他布局格式?

1 个答案:

答案 0 :(得分:1)

如果您不想更换片段,唯一的选择是获取父级,删除以前的内容并添加新内容。

首先在类字段中存储rootView,以便在通过onCreateView后获取其引用,然后执行:

ViewGroup parentView =rootView.getParent();
parentView.removeView(rootView);
View newRootView = inflater.inflate(R.layout.newlayout, parentView, false);
parentView.addView(newRootView);

像这样的应该工作(没有经过测试,只是从我脑海中写下来)

希望这有帮助。