使用操作栏菜单更改片段布局

时间:2014-11-14 12:33:49

标签: android android-fragments tabs android-actionbar fragment

我已经实现了一个带有1个活动的项目,带有标签导航模式的actionBar(5个标签,每个标签都是一个片段)。

每个片段都有自己的菜单选项(在操作栏中)。

我需要的是当用户单击其中一个选项时,更改当前片段的布局。我知道在哪里放置代码,在这种情况下它会是这样的......

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

        inflater.inflate(R.menu.fragment1, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {

        case R.id.menu_listMode:
            //Here I need to put the code to change layou of this current fragment...
            return true;
        default:
            break;
        }
        return true;
    }

更具体...... 例如:您有一个带有日历视图的片段,当您单击操作栏中的选项时,该视图将更改为listViewFragment。 (布局会发生变化,但标签会相同)。

我使用过这个示例项目:https://github.com/sgolivernet/curso-android-src/tree/master/android-actionbar-tabs

2 个答案:

答案 0 :(得分:0)

如果您已参考您的活动,请使用该活动通过FragmentManager找到您的片段。然后让你的片段膨胀另一个布局或动态添加列表视图。

如果您没有参考您的活动,请使用回调界面通知您的活动。

答案 1 :(得分:-1)

CallBack是解决您问题的最佳方案。  Link 1 Link 2 可能会帮助你。