2017-05-07 43 views
0

我有兩個不同的頁眉xml佈局,並希望以編程方式在它們之間切換。我的問題是舊的佈局不是由新的替代,而是我最終有兩個頭佈局。我讀了很多Answers1,Answer2但它不起作用。如何更換Android NavigationView HeaderView

這是我的嘗試:如果我運行這個代碼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

您需要保存標題視圖的引用,然後在您想用其他東西替換它時將其刪除。

navigate.removeHeaderView(previousHeaderView)

+0

這是工作,但要問這是做什麼我想還是有更好的辦法,建議這樣做? –