系统自带的NavigationDrawerFragment

1、自动生成NavigationDrawerFragment,onCreatView代码如下

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        mDrawerListView = (ListView) inflater.inflate(
                R.layout.fragment_navigation_drawer, container, false);

        View headerView = inflater.inflate(R.layout.fragment_navigation_drawer_header, null);

        mDrawerListView.addHeaderView(headerView);
        mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                selectItem(position);
            }
        });

        List<DrawerListItem> drawerdata = new ArrayList<DrawerListItem>();

        DrawerListItem item = new DrawerListItem(getResources().getDrawable(R.drawable.title_timer_data)
        ,getResources().getString(R.string.title_timer_data));
        drawerdata.add(item);

         item = new DrawerListItem(getResources().getDrawable(R.drawable.title_history_data)
                ,getResources().getString(R.string.title_history_data));
        drawerdata.add(item);

         item = new DrawerListItem(getResources().getDrawable(R.drawable.title_history_chart)
                ,getResources().getString(R.string.title_history_chart));
        drawerdata.add(item);

        item = new DrawerListItem(getResources().getDrawable(R.drawable.title_alarm_data)
                ,getResources().getString(R.string.title_alarm_data));
        drawerdata.add(item);

        item = new DrawerListItem(getResources().getDrawable(R.drawable.title_setting)
                ,getResources().getString(R.string.title_setting));
        drawerdata.add(item);

        selectItem(mCurrentSelectedPosition);

        DrawerListAdapter adapter = new DrawerListAdapter(this.getActivity(),drawerdata);
        mDrawerListView.setAdapter(adapter);

//        mDrawerListView.setAdapter(new ArrayAdapter<String>(
//                getActionBar().getThemedContext(),
//                android.R.layout.simple_list_item_activated_1,
//                android.R.id.text1,
//                new String[]{
//                        getString(R.string.title_timer_data),
//                        getString(R.string.title_history_data),
//                        getString(R.string.title_history_chart),
//                        getString(R.string.title_alarm_data),
//                        getString(R.string.title_setting),
//                }));

        mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
        return mDrawerListView;
    }

2、主界面选择标题,调用Fragment

/**
     *获取fragment
     */
    public void onSectionAttached(int number) {
        Fragment fragment = null;

        switch (number) {
            case 1:
                fragment = new TimerDataFragment();
                mTitle = getString(R.string.title_timer_data);
                break;
            case 2:
                mTitle = getString(R.string.title_history_data);
                break;
            case 3:
                mTitle = getString(R.string.title_history_chart);
                break;
            case 4:
                mTitle = getString(R.string.title_alarm_data);
                break;
            case 5:
                mTitle = getString(R.string.title_setting);
                break;
            default:
                break;
        }

        if (fragment != null) {
            //FragmentManager fragmentManager = getSupportFragmentManager();
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(R.id.container, fragment);
            fragmentTransaction.commit();
        }
    }

最新文章

  1. POJO和VO的区别
  2. oracle触发器设置uuid变量
  3. linux在安装jdk时报错
  4. Valid Pattern Lock(dfs + 暴力)
  5. iOS中 项目开发易错知识点总结
  6. mybatis insert 如何返回主键
  7. CentOS系统安全配置
  8. jquery mobile基本结构搭建
  9. [转]Delphi导出Excel的设置操作
  10. 浅谈HashMap的实现原理
  11. mystring c++ 自己的string 封装
  12. MongoDB学习总结(六) —— 数据库备份和恢复
  13. JS Math.round()方法原理
  14. markdown使用小结
  15. js函数声明的三种方式
  16. Zookeeper简介与集群搭建
  17. openfire 发送 接受 注册 广播 好友列表 在线状态
  18. Python: str.split()和re.split()的区别
  19. HDU 4217 Hamming Distance 随机化水过去
  20. **CodeIgniter通过hook的方式实现简单的权限控制

热门文章

  1. style在进行图形绘制前,要设置好绘图的样式
  2. CSS3动画(动画已丢,看原文)
  3. Javascript 笔记与总结(1-5)闭包
  4. PHP 面试题数组篇[ 整理中 ]
  5. 【CEDEC&#160;2015】【夏日课堂】制作事宜技术篇,新手职员挑战VR Demo开发的真相
  6. p::first-line { text-transform: uppercase }
  7. spark之combineByKey
  8. css 鼠标移动到按钮图片改变;图片换层;鼠标放上透明度改变直到隐藏;
  9. SQL Server批量数据导出导入BCP使用
  10. 简单CMakeLists.txt文件