2017-05-07 1 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

작업을하지만, 묻고 싶은 것을이 내가 원하는 또는 더 나은 방법이 무엇을 할 수있는 권장 방법이 있나요? –

관련 문제