如何更改特定片段中的NavDrawer图标

时间:2017-10-12 21:52:29

标签: java android android-fragments

好吧,在我的应用程序中,我有一个负责显示新闻调用的片段,该片段也是导航抽屉中的一个项目。

用户可以单击新闻呼叫,然后输入新片段。

我想要的是当用户输入这个有新闻的新片段时,返回NavDrawer之前的图标,然后转回箭头。

这是保存新闻调用的片段 This is the fragment that holds the calls to the news

这是新闻片段,应该有返回箭头 This is the news fragment, which should have the return arrow

1 个答案:

答案 0 :(得分:0)

你可以这样做

在片段覆盖onCreate方法,如下

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true); // note this line
    }

然后覆盖像这样的onActivityCreated方法

  @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        ((MainActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); // this is your back arrow

    }

最后点击后退箭头覆盖onOptionsItemSelected方法

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();

        switch (id) {
            case android.R.id.home:

                if (getActivity() != null)
                    getActivity().onBackPressed();

                break;
        }
        return super.onOptionsItemSelected(item);

    }

完成!希望这是你想要的......