java - 单击 ListItem 后如何更改 fragment 布局?

标签 java android android-layout listview android-fragments

因此,一旦从 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/

相关文章:

java - :while{} mean in Java? 的值是什么

java - Android AsyncTask 出现 JSON 解析错误

android - 如何在没有网络的情况下在Android应用程序中显示ppt、pdf等文档

android - 我可以将我的 Android 样式放在不同的包名称中吗?

android - 向布局添加颜色背景和边框半径

java - 为什么 Selenium webDriver/Java 需要向下滚动才能允许我在 facebook 上发帖?

java - 从远程独立客户端调用 EJB

android - 在 Android MVP 中通过构造函数将 Fragment 的(View)Presenter 传递给 Adapter

android - Google 对企业 Android 开发的支持

android - 我们如何在我们的应用程序中显示此 UI