【问题标题】:Android app: How to change fragments in Navigation DrawerAndroid 应用程序:如何更改导航抽屉中的片段
【发布时间】:2014-01-27 14:29:03
【问题描述】:

首先,我是 android 开发和 java 的新手。

我用片段导航抽屉创建了一个新项目, 但我真的不知道如何用它添加和更改那些新片段。 (看起来它也没有改变任何片段,只是将 TextView 设置为选定的位置。)

你们可能知道如何做到这一点(一步一步)的好教程吗? 或者你能告诉我怎么做吗?

编辑:

我自己找到了解决办法:

@Override
public void onNavigationDrawerItemSelected(int position) {

    Fragment fragment;

    switch(position){
        case 0:
            fragment = new Fragment_main().newInstance(position+1);
            break;
        case 1:
            fragment = new Fragment_two().newInstance(position+1);
            break;
        default:
            fragment = new Fragment_main().newInstance(position +1);
            break;
    }

    // update the main content by replacing fragments
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, fragment)
            .commit();
}

您只需在此方法中添加一个开关,并创建这些类(和布局)。

我希望这个解决方案可以帮助所有在初学者或导航抽屉中苦苦挣扎的人:)

【问题讨论】:

  • 不幸的是,这没有帮助。虽然我使用的是 getSupportFragmentManager(),但这可能是问题所在。将其更改为 getFragmentManager() 会带来很多错误。
  • @pbs 你可以为你的问题贴一个代码 sn-p 吗?
  • @九十 我最终解决了这个问题。我使用的 Eclipse 自动生成的代码使用单例模式创建了静态片段。一旦我删除了这种模式并以一切正常的方式实例化了类。
  • @ninety 这个问题你还需要帮助吗?
  • @JaredBurrows 不,谢谢,解决了 :)

标签: android navigation drawer


【解决方案1】:

我自己找到了解决办法:

@Override
public void onNavigationDrawerItemSelected(int position) {

    Fragment fragment;

    switch(position){
        case 0:
            fragment = new Fragment_main().newInstance(position+1);
            break;
        case 1:
            fragment = new Fragment_two().newInstance(position+1);
            break;
        default:
            fragment = new Fragment_main().newInstance(position +1);
            break;
    }

    // update the main content by replacing fragments
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, fragment)
            .commit();
}

您只需在此方法中添加一个开关,并创建这些类(和布局)。

我希望这个解决方案可以帮助所有在初学者或导航抽屉中苦苦挣扎的人:)

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    相关资源
    最近更新 更多