2017-01-04 1 views
2

BottomNavigationView를 사용하여 조각을 전환했습니다. 조각을 다시 열지 못하도록 현재 선택된 메뉴 항목을 가져 오는 방법은 무엇입니까?BottomNavigationView - 선택한 메뉴 항목을 얻는 방법?

 BottomNavigationView bottomNavigationView = (BottomNavigationView) 
       findViewById(R.id.bottom_navigation); 

     bottomNavigationView.setOnNavigationItemSelectedListener(
       new BottomNavigationView.OnNavigationItemSelectedListener() { 
        @Override 
        public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
         switch (item.getItemId()) { 
          case R.id.action_1: 
           // open fragment 1 
           break; 
          case R.id.action_2: 
           // open fragment 2 
           break; 
          case R.id.action_3: 
           // open fragment 3 
           break; 
         } 
         return false; 
        } 
       }); 
    } 
+0

당신은 '조각을 재개 방지'에 대한 더 명확 할 수 있습니까? 탐색 항목 (메뉴)을 클릭하면 무엇을 기대합니까? –

답변

1

솔루션 :

private int getSelectedItem(BottomNavigationView bottomNavigationView){ 
     Menu menu = bottomNavigationView.getMenu(); 
     for (int i=0;i<bottomNavigationView.getMenu().size();i++){ 
      MenuItem menuItem = menu.getItem(i); 
      if (menuItem.isChecked()){ 
       return menuItem.getItemId(); 
      } 
     } 
     return 0; 
    } 
+0

작동합니까? – Redman

+0

예. 그것은 작동하고있다 – phnmnn

+0

굉장한 남자, 그것은 나를 위해 일하는 해결책이다 – Achin

1

getSelectedItemId을 사용하여 현재 선택된 메뉴 항목 ID 가져 오기 :

int selectedItemId = bottomNavigationView.getSelectedItemId(); 
MenuItem selectedItem = bottomNavigationView.getMenu().findItem(selectedItemId); 

이 방법은 안드로이드 지원 라이브러리 25.3.0에서 사용할 수있는 시작합니다.

4

처음에는 항목을 선택하기 다음 getMenu().findItem(int itemId)

bottomNavigationView.getMenu().findItem(bottomNavigationView.getSelectedItemId()) 
관련 문제