2017-05-11 3 views
1

동적으로 하단 탐색보기를 추가하려고합니다. 나는 activity의 xml 파일 안에 네비게이션 뷰를 추가했다.Android - 동적으로 하단 탐색보기 추가

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/navigation" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="start" 
    design:menu="@menu/items" /> 

항목 xml 파일을 만들고 싶지 않습니다. 아래 코드를 사용하여 탐색 바를 만들었습니다.

bottomNavigationView = new BottomNavigationView(this); 
    ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
    bottomNavigationView.setLayoutParams(params); 

    RelativeLayout layout = (RelativeLayout) findViewById(R.id.viewLayout); 
    layout.addView(bottomNavigationView); 

    Menu menu = bottomNavigationView.getMenu(); 
    menu.add(0, i, Menu.NONE, "TEXT"); 

menu.add는 오류를 발생시킵니다. null 객체 참조에

android.support.v7.view.menu.MenuBuilder.size는() '

어떻게 동적으로 탐색보기를 추가 할 수 있습니까?

+0

지원 라이브러리 버전은 무엇입니까? – FAT

+0

'com.android.support:design:25.0.0' –

+1

지원 라이브러리를 업데이트하고 다시 시도하십시오. – FAT

답변

2

BottomNavigationView의 버그가 수행하려고합니다. https://issuetracker.google.com/issues/37124043

이 고정 된지지 라이브러리 25.0.1에서 : 여기

버그 기준이다. support library을 업데이트하고 다시 시도하십시오.

희망이 ~

0

는이

bottomNavigationView = new BottomNavigationView(ActivityName.this); 

또는

bottomNavigationView = new BottomNavigationView(getApplicationContext()); 
+0

java.lang.IllegalArgumentException : 디자인 라이브러리에서 Theme.AppCompat 테마 (또는 자손)를 사용해야합니다. 이 오류는 BottomNavigationView 생성자에서 발생합니다. –

0

당신은 메뉴 XML을 정의하고 BottomNavigationView 객체에 메소드를 inflateMenu 호출을 부풀려 수 있습니다 도움이 될 것입니다.

추가 메뉴 항목을 추가해야하는 경우 메뉴 개체를 가져 와서 메뉴 개체에 항목을 추가하면됩니다.

메뉴 메뉴 = bottomNavigationView.getMenu();

+0

예, 알고 있습니다. 하지만 메뉴 XML 파일없이 만들려고합니다. 가능합니까? –

+0

메뉴 객체가 null 인 문제를 재현하지 못했습니다. –

+0

내 문제는 XML 파일에 관한 것이 아닙니다. res/menu에서 xml을 생성하고 싶지 않습니다. 동적으로 새로운 BottomNavigationView()를 만들고 레이아웃에 추가하려고합니다. –

관련 문제