我正在使用最新的设计支持库。我已经设置了导航视图,其中包含四个片段作为菜单项。
我想在用户启动应用程序时打开我的第一个片段(即导航抽屉中的第一项)。
默认情况下,它会显示MainActivity布局。
我试过
navigationView.getMenu().getInt(0).setChecked(true);
但上面的代码没有做任何事情。
答案 0 :(得分:8)
您是否使用片段容器布局?如果没有,请将其添加到activity_main.xml
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在您的活动覆盖onCreate
方法中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MainActivityFragment()).commit();
}
}
而不是MainActivityFragment()
调用您想要在开头显示的片段。
答案 1 :(得分:7)
navigationView.getMenu().getInt(0).setChecked(true);
替换为
navigationView.getMenu().getItem(0).setChecked(true);