ViewPager,ActionBar,Fragment--通讯录

来源:互联网 发布:apache spark 项目实战 编辑:程序博客网 时间:2024/06/06 23:16

一.添加ActionBar的标签,并实现接口ActionBar.TabListener来监听ActionBar

二.假设有三个标签对应三个ViewPager,每个ViewPager又对应一个Fragment

     1).自定义一个类继承Fragment类

     2).在onCreateView()方法中获取碎片所对应的layout所对应的的Vie并作为返回值返回

     3).final FragmentManager fragmentManager = getFragmentManager();        //获取碎片管理器的对象
         final FragmentTransaction transaction = fragmentManager .beginTransaction();

         f = fragmentManager.findFragmentByTag(FAVORITE_TAG);               //获取以FAVORITE_TAG为标签添加到栈中的碎片
     4).如果原先已经以这个标签添加碎片的栈中, 碎片直接被取出

     5).如果f == null 证明没有创建过碎片,那么要new一个碎片对象,同时通过transaction.add()把碎片添加到ViewPager

     6).实现接口ViewPager.OnPageChangeListener,去监听ViewPager是否切换;如果切换ActionBar标签也跟着切换

                ---->Tab标签切换时通过switch语句为依据判断要显示那个Fragment,如:

                                 hideFragment(ft, mContextMenuFragment);  

                                 hideFragment(ft, mCursorFragment);  

                                 showFragment(ft, mArrayFragment);  

 

     7).自定一个类去继承PagerAdapter,指引页面数据适配;适配过程中show()方法显示默认显示的Fragment

                                                                                                                                                                                                                                     

三.数据来源问题分析:(以一个碎片为例子)

PeopleActivity.java
    --->创建ContactTileListFragment()对象时回去执行方法onCreateLoader()该方法返回一个CursorLoader对象,
    --->返回时执行:ContactTileLoaderFactory.createStarredLoader()方法、
    --->在方法返回值创建一个new CursorLoader(context, Contacts.CONTENT_URI, COLUMNS,Contacts.STARRED + "=?", new String[]{"1"}, Contacts.DISPLAY_NAME + " ASC")对象
    --->去到CursorLoader.java下,推测创建对象时会执行loadInBackground()方法
    --->执行getContext().getContentResolver().query(mUri, mProjection, mSelection,mSelectionArgs, mSortOrder);返回一个Cursor
    
    
    --->上面获得Cursor会以参数的形式传入onLoadFinished()方法中
    --->mAdapter.setContactCursor(data)方法把获得的Cursor传给适配器,ListView就可以显示联系人的信息了

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 天正画的cad打开显示空白怎么办 苹果手机信息被拉进群聊怎么办 空调的控制线的报验资料怎么办 窗窗户罩子护栏上的瓦楞板怎么办 酸洗好的带钢容易返锈怎么办 化肥撤到小树苗上现在变黑了怎么办 尿素液烧的太慢了怎么办 天堂鸟肥料施多了黄叶了怎么办 死水塘养的鱼每天在死怎么办 北京的阿姆斯肥把苗都烧死了怎么办 纱窗被老鼠咬了个洞 怎么办 低电量模式下动态墙纸不能用怎么办 吃的包装袋执行标准错了怎么办 退换东西的时候外包装坏了怎么办 闲鱼买家以与描述不符退货怎么办 闲鱼买家申请退款又签收了怎么办 店铺买的手机是拆开过的怎么办 卖家以包装破损拒收快递怎么办 车辆迁出落户信封被自己拆开怎么办 快递签收了发现物品坏了怎么办 快递签收后发现货坏了怎么办 闲鱼退货有破损卖家要求赔偿怎么办 邮政快递收货后发现快递破损怎么办 中通把包裹发到别的省份去了怎么办 寄快递没拿单子但东西破损了怎么办 快递签收以后发现东西少了怎么办 淘宝时收到的货破损我该怎么办 淘宝买的冰箱七天无理由退货怎么办 截图放进ai中变得很模糊怎么办 买房子的贷款合同丢了怎么办 索尼9000e挂墙后面借口怎么办 想把木头锯成小块的怎么办 第一天上班交接完工作想辞职怎么办 POS机刷卡成功没打出单子怎么办 建行买的理财保险单子丢了怎么办 退休老师饭卡的钱突然少了怎么办 背驼得厉害头低的厉害怎么办 被别人举报自己碰瓷了怎么办 苹果平板微信屏幕不是全屏怎么办 大冒险告白被接受了怎么办在线阅读 手机屏锁图案密码忘了怎么办