Bottom NavigationView以编程方式更改项目

时间:2016-11-29 13:15:18

标签: android

我正在使用Bottom NavigationView并希望以编程方式更改项目。有5个项目,当我选择第4项时,第一项仍然有效。

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/color_white"
        app:itemIconTint="@color/drawer_item"
        app:itemTextColor="@color/drawer_item"
        android:layout_gravity="start"
        app:menu="@menu/nav_bar_menu"/>

3 个答案:

答案 0 :(得分:6)

从API 25.3.0起, 你可以使用setSelectedItemId

TextPointer start = position.GetPositionAtOffset(indexInRun);
TextPointer end = start.GetPositionAtOffset(word.Length);
TextRange rangeText = new TextRange(start, end);
rangeText.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Blue);

答案 1 :(得分:1)

目前没有办法通过代码更改项目,但在此处找到了解决方案 Set initially selected item index/id in BottomNavigationView

答案 2 :(得分:0)

这对我有用 救了我玩碎片游戏

NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.getMenu().findItem(R.id.my_navigation_item).setChecked(true);
navigationView.getMenu().performIdentifierAction(R.id.my_navigation_item, 0);