如何替换Android NavigationView HeaderView

时间:2017-05-07 11:36:47

标签: android replace android-navigationview

我有两个不同的标题xml布局,并希望以编程方式在它们之间切换。我的问题是旧的布局没有被新的替换,而是我最终得到了两个标题布局。我阅读了很多Answers1Answer2,但它不起作用。

这是我尝试的内容:如果我运行此代码3次,我有3个标题而不是替换标题布局。我想我必须首先删除navigate.getHeaderView(0)但是如何?

NavigationView navigate = (NavigationView) findViewById(R.id.navigation_view);
    navigate.getMenu().clear();
    navigate.inflateMenu(R.menu.menu_navigation_exit);
    navigate.inflateHeaderView(R.layout.navigation_view_header_exit);
    View header = navigate.getHeaderView(0);
    streetViewImage = (ImageView) header.findViewById(R.id.street_view_image);
    streetViewImage.set....
    ...

1 个答案:

答案 0 :(得分:3)

您需要保存标题视图的引用,然后在想要用其他内容替换它时将其删除。

navigate.removeHeaderView(previousHeaderView)