在导航抽屉中设置默认选择的选项
Set default selected option in navigation drawer
我正在使用最新的设计支持库。我已经设置了导航视图,其中有四个片段作为其菜单项。
我想在用户启动应用程序时打开我的第一个片段(即导航抽屉中的第一个项目)。
默认情况下,它会显示 MainActivity 布局。
我试过了
navigationView.getMenu().getInt(0).setChecked(true);
但是上面的代码并没有做任何事情。
你使用片段容器布局吗?如果没有,请将其添加到您的 activity_main.xml
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在您的 Activity 覆盖 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()
调用您要在开头显示的片段。
navigationView.getMenu().getInt(0).setChecked(true);
替换为
navigationView.getMenu().getItem(0).setChecked(true);
我正在使用最新的设计支持库。我已经设置了导航视图,其中有四个片段作为其菜单项。
我想在用户启动应用程序时打开我的第一个片段(即导航抽屉中的第一个项目)。
默认情况下,它会显示 MainActivity 布局。
我试过了
navigationView.getMenu().getInt(0).setChecked(true);
但是上面的代码并没有做任何事情。
你使用片段容器布局吗?如果没有,请将其添加到您的 activity_main.xml
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在您的 Activity 覆盖 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()
调用您要在开头显示的片段。
navigationView.getMenu().getInt(0).setChecked(true);
替换为
navigationView.getMenu().getItem(0).setChecked(true);