代码
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
Fragment fragment = null;
if (id == R.id.home) {
fragment = new Fragment1();
} else if (id == R.id.a) {
fragment = new Fragment2();
}else if (id == R.id.b) {
fragment = new Fragment3();
}else if (id == R.id.c) {
fragment = new Fragment4();
}else if (id == R.id.d) {
fragment = new Fragment5();
} else if (id == R.id.e) {
fragment = new Fragment6();
}else if (id == R.id.f) {
fragment = new Fragment7();
}else if (id == R.id.g) {
fragment = new Fragment8();
}else if (id == R.id.h) {
fragment = new Fragment9();
}else if (id == R.id.i) {
fragment = new Fragment10();
} else if (id == R.id.j) {
fragment = new Fragment11();
}else if (id == R.id.k) {
fragment = new Fragment12();
}
//NOTE: Fragment changing code
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.mainFrame, fragment);
ft.commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); //Ya you can also globalize this variable :P
drawer.closeDrawer(GravityCompat.START);
return true;
}
我知道这是在抽屉式点击侦听器上实现的方法。但是我希望用户数据决定哪个片段来自哪里...我在Firebase中有很多数据说a-z ...而用户只想在抽屉中显示元音...我该怎么做?像是让抽屉像recyclerview之类的东西?有人可以帮帮我吗
答案 0 :(得分:1)
一种方法是将所有菜单项都放在抽屉中,并使用setVisible()
方法将其逻辑上隐藏。
设置菜单项的可见性。即使没有菜单项 可见,仍可以通过其快捷方式(完全调用它 禁用一项,将其设置为不可见和禁用)。
使用setTitle()
方法来更改任何菜单项的标题。
更改与此项目关联的标题。
某些菜单类型没有足够的空间来显示完整标题,并且 而是使用简洁的标题。