导航抽屉活动?删除占位符?

时间:2015-01-08 23:11:19

标签: android android-fragments

在继续之前,我已经从谷歌搜索中找到了很多文档。我发现的主题是针对更有经验的开发人员,我发现很难将示例代码应用到我自己的场景中(作为一个新手! )..甚至谷歌文档缺乏(?)关于如何继续的信息

在Android工作室导航抽屉活动中..它已经填充了一些设计模板,虽然完全成熟了占位符空白片段..但是,遇到的复杂问题是:

@Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, PlaceholderFragment.newInstance(position + 1))
            .commit();
}

然后是这个主要类中的下一个函数:

public void onSectionAttached(int number) {
    //Testing Strings/Lables/Menu
    switch (number) {
        case 1:
            mTitle = getString(R.string.HomeFrag);
            break;
        case 2:
            mTitle = getString(R.string.ChatFrag);
            break;
        case 3:
            mTitle = getString(R.string.CampaignFrag);
            break;
        case 4:
            mTitle = getString(R.string.AccSettingsFrag);
            break;
    }
}

我的问题是如何继续前进?我想在MainActivity.xml下用我自己的活动/片段替换占位符片段吗?

1 个答案:

答案 0 :(得分:1)

您可以使用position中给出的onNavigationDrawerItemSelected()来显示正确的Fragment

@Override
public void onNavigationDrawerItemSelected(int position) {
  // update the main content by replacing fragments
  FragmentManager fragmentManager = getSupportFragmentManager();
  Fragment fragment = null;
  switch (position) {
    case 0:
      fragment = new HomeFragment();
      break;
    case 1:
      fragment = new ChatFragment();
      break;
    case 2:
      fragment = new CampaignFragment();
      break;
    case 3:
      fragment = new AccSettingsFragment();
      break;
    default:
      throw new IllegalArgumentException("Invalid position " + position);
  }
  fragmentManager.beginTransaction()
        .replace(R.id.container, fragment)
        .commit();
}

使用您需要的任何方法/片段。