Java 导航抽屉库fragmentmain是什么意思
所以我用它来制作一个导航抽屉,但有一件事没有解释: 在MClick函数中:Java 导航抽屉库fragmentmain是什么意思,java,android,android-studio,android-fragments,navigation-drawer,Java,Android,Android Studio,Android Fragments,Navigation Drawer,所以我用它来制作一个导航抽屉,但有一件事没有解释: 在MClick函数中: public void onItemClick(int position) { FragmentManager mFragmentManager = getSupportFragmentManager(); Fragment mFragment = new FragmentMain().newInstance(mHelpLiveo.get(position).getName()); if (mF
public void onItemClick(int position) {
FragmentManager mFragmentManager = getSupportFragmentManager();
Fragment mFragment = new FragmentMain().newInstance(mHelpLiveo.get(position).getName());
if (mFragment != null){
mFragmentManager.beginTransaction().replace(R.id.container, mFragment).commit();
}
}
它告诉我FragmentMain尚未解决。我不知道这是什么意思。我必须在MainActivity中创建新片段吗 您提供了库描述中的示例代码。此代码部分显示为实现OnItemClick侦听器的示例。在你的例子中,你似乎复制粘贴了这个部分,显然,你没有像FragmentMain这样的片段。为了实现导航,可以使用菜单位置来处理与菜单项相关的操作 在这个特定的例子中,我假设,在使用指定的位置片段管理器单击菜单项之后,使用新创建的具有某个名称的片段,该名称存储在mHelpLiveo列表中,并通过与菜单位置相关的索引存储 无论如何,您必须实现自己的McClick侦听器行为。让我们考虑一下你有菜单的场景:
- 家
- 天气
- 等
public void onItemClick(int position) {
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fragment;
switch(position):{
case 0: fragment = HomeFragment.newInstance(); break;
case 1: fragment = WeatherFragment.newInstance(); break;
case 2: fragment = EtcFragment.newInstance; break;
default: fragment = HomeFragment.newInstance(); break;
}
if (fragment != null){
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
}
}
您提供了库描述中的示例代码。此代码部分显示为实现OnItemClick侦听器的示例。在你的例子中,你似乎复制粘贴了这个部分,显然,你没有像FragmentMain这样的片段。为了实现导航,可以使用菜单位置来处理与菜单项相关的操作 在这个特定的例子中,我假设,在使用指定的位置片段管理器单击菜单项之后,使用新创建的具有某个名称的片段,该名称存储在mHelpLiveo列表中,并通过与菜单位置相关的索引存储 无论如何,您必须实现自己的McClick侦听器行为。让我们考虑一下你有菜单的场景:
- 家
- 天气
- 等
public void onItemClick(int position) {
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment fragment;
switch(position):{
case 0: fragment = HomeFragment.newInstance(); break;
case 1: fragment = WeatherFragment.newInstance(); break;
case 2: fragment = EtcFragment.newInstance; break;
default: fragment = HomeFragment.newInstance(); break;
}
if (fragment != null){
fragmentManager.beginTransaction().replace(R.id.container, fragment).commit();
}
}
像这样替换代码 创建新实例时,用FragmentMain替换片段对象 另外,我认为新实例是静态方法,所以您可以使用类名直接访问它
public void onItemClick(int position){
FragmentManager mFragmentManager = getSupportFragmentManager();
FragmentMain mFragment = FragmentMain.newInstance(mHelpLiveo.get(position).getName());
if (mFragment != null){
mFragmentManager.beginTransaction().replace(R.id.container, mFragment).commit();
}
}
像这样替换代码 创建新实例时,用FragmentMain替换片段对象 另外,我认为新实例是静态方法,所以您可以使用类名直接访问它
public void onItemClick(int position){
FragmentManager mFragmentManager = getSupportFragmentManager();
FragmentMain mFragment = FragmentMain.newInstance(mHelpLiveo.get(position).getName());
if (mFragment != null){
mFragmentManager.beginTransaction().replace(R.id.container, mFragment).commit();
}
}