小编Mar*_*ich的帖子

在NavigationDrawer中切换整个片段

我正在研究来自developer.android.com的NavigationDrawer示例代码并尝试将其实现为我的某个应用程序的导航.但是,当在主窗口中切换片段时,我遇到了一个问题,因为示例代码重用了相同的片段并且只是切换出一个imageview.以下是示例中的代码:

private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        selectItem(position);
    }
}

private void selectItem(int position) {
    // update the main content by replacing fragments
    Fragment fragment = new PlanetFragment();
    Bundle args = new Bundle();
    args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
    fragment.setArguments(args);

    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

    // update selected item and title, then close the drawer
    mDrawerList.setItemChecked(position, true);
    setTitle(mPlanetTitles[position]);
    mDrawerLayout.closeDrawer(mDrawerList);
}
Run Code Online (Sandbox Code Playgroud)

其中PlanetFragment是一个只有imageview但没有功能的通用片段,不适用于我的应用.所以,相反,我尝试用case/switch替换了selectItem方法的第一个块:

public void selectItem(int position){
Fragment fragment;
switch(position){
    case 1: fragment …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

1
推荐指数
1
解决办法
5580
查看次数

标签 统计

android ×1

android-fragments ×1