在继续之前,我已经从谷歌搜索中找到了很多文档。我发现的主题是针对更有经验的开发人员,我发现很难将示例代码应用到我自己的场景中(作为一个新手! )..甚至谷歌文档缺乏(?)关于如何继续的信息
在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下用我自己的活动/片段替换占位符片段吗?
答案 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();
}
使用您需要的任何方法/片段。