为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第1季)

难度入门
时长 5小时 0分
学习人数
综合评分9.43
320人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • ViewPager可以使视图左右滑动
    查看全部
    0 采集 收起 来源:认识ViewPager

    2016-07-05

  • Fragment作为被Activity加载的被动一方,要想实现向Activity传值通信,要解决以下几个问题:<br> 1.Fragment要知道是哪个Activity加载了它<br> 通过onAttach()方法可以让Fragment获取Activity的信息<br> 2.在Fragment中创建一个Activity的对象,通过这个对象去调用Activity中的方法<br> 3.Activity中的这个方法要满足如下条件:<br> Fragment与Activity的通信需要注意的3点: 1.Activity传值给Fragment通过Bundle 2.Fragment传值给Activity通过在Fragment中定义接口,实现Attach(Activity activity),在Activity中实现该接口 3.除以上方法之外,还能通过静态传值,静态传值在Fragment中定义Get,Set方法。
    查看全部
  • 怎么实现Fragment向Activity回传数据 * 1.想办法在Fragment中获取加载了这个Fragment的Activity信息,即要知道是哪个Activity加载了Fragment-->onAttach()方法。在Activity加载Fragment的时候会回调这个方法,并且只调用一次,一旦Activity加载了Fragment,就会调onAttach()方法,其传入的参数就是Activity * 2.在Fragment中实例化一个Activity对象,调用Activity中的某个方法,并且把要回传的数据作为这个方法的参数传递进去。实例化并不难做到,我们可以根据onAttach()方法传回来的参数activity直接创建一个Activity的对象出来,可是如果这样操作,就会把代码写死了,那如果有别的Activity来加载这个Fragment怎么办?怎么才能实现代码的重用和灵活性呢?-->继承和多态 * 3.前面我们说到需要Activity中有某个方法,可以让我们把要回传的数据作为参数传递进去,调用这个方法,这个方法会将Fragment传递的数据以某种方式展示给Activity,从而让Activity知道Fragment传了数据给它,但是我们怎么能够知道Activity中有什么方法呢,又怎么能够确保Activity中有我们所需要的这种方法呢? * 4.利用接口,是的,如果我们在Fragment中定义一个内部接口,然后让需要加这个Fragment的Activity实现这个接口,我们就可以解决上面的问题。首先,接口中定义一个我们需要的方法,Activity实现了接口,就必须要提供这个方法,这样我们就可以知道我们要调用哪个方法去实现传送数据,并且我们可以知道Activity中一定有这个方法 * 5.那么既然Activity实现了Fragment的内部接口,那么Activity就可以看作是这个接口的一个子类,那么也就是Fragment的一个子类,我们在Fragment中实例化Activity对象的时候就可以采用父类对象指向子类引用的方式。这样的好处是,当我们在onAttach()方法中去实例化一个Activity对象时,就能实现代码的重用和灵活性,哪个Activity加载了Fragment,Fragment中就实例化哪个Activity的对象
    查看全部
  • activity向fragment传递参数,需要用到bundle对象来保存数据
    查看全部
  • 第一步 先定义main4.xml布局文件<br> 第二步 MainActivity4中加载main4.xml (setContentView(R.layout.main4))<br> 第三步 建立新的MyFragment5类去接收Activity4传递过来的信息,并加载所对应的布局文件<br> 第四步 在android_manifest中声明MainActivity4<br> 第五步 按钮加跳转<br> 第六步 MainActivity4的onClick中初始化MyFragment5<br> 第七步 获取Fragment管理者并开启事物<br> 第八步 把Fragment5添加进来(beginTransaction)<br> 九 在MyFragment5 获取数据包 getArguments Fragment与Activity通信 (1)Fragment可调用getActivity()方法获取它所在的Activity (2)Activity可调用FragmentMangaer的findFragmentById()或findFragmentByTag()方法获取Fratment Activity->Fragment:在Activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法。 Fragment->Activit:需要在Fragment中定义一个内部回调接口,在让包含该Fragment的Activity实现该回调接口。这样Fragment可调用改回调方法将数据传递给Activity。 在Activity中使用setAraguments方法 Bundle bundle = new Bundle(); bundle.putString(key,value); fragment.setArgumemts(bundle); Fragment中 getArguments().get(key);
    查看全部
  • Fragment和Activity的通信(动态) 1. Fragment通过getActivity()来获得它所在的Activity 3. Activity->Fragment: 在Activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法将数据包传递进去;在Fragment中调用getArguments()获取数据包 Acitivty中: MyFragment5 myFragment5 = new MyFragment5(); Bundle bundle = new Bundle(); bundle.putString("name", message); //"name"为对应的key,message是传递的string myFragment5.setArguments(bundle); //发送数据给myFragment5 对应的MyFragment5中: Bundle bundle = getArguments(); //获取bundle数据包 String message = bundle.getString("name")+""; //把“name”key对应的value拿出来 mTV.setText(message); 4. Fragment->Activity: 需要在Fragment中定义一个内部回调接口,再让包含它的Activity实现该回调接口。这样Fragment中可调用该回调方法将数据传递给Activity。 (1)Fragment中定义一个内部回调接口 public interface MyListener { public void response(String reponseString); } (2)Activity中实现该方法 MainActivity4 implements MyListener { public void response(String reponseString) { mTV.setText(reponseString); } } (3)Fragment中回调MainActivity4中的该方法 ((MyListener) getActivity()).response(responseString);
    查看全部
  • Destroyed【onDestroyView()->onDestroy()->onDetach()】 onDestroyView()方法:销毁Fragment所包含的View组件时回调 onDestroy()方法:销毁Fragment时会被回调 onDetach()方法:Fragment从Activity中删除时会被回调,且只调用一次
    查看全部
  • Fragment的生命周期 1、 onAttach();//当fragment被添加到activity中时会回调这个方法;只会调用一次 2、 onCreate();//在fragment创建的时候回调这个方法;只会调用一次; 3、 onCreateView()://每次创建都会绘制Fragment的View组件时调用该方法,相当于fragment绑定一个布局,布局文件转换成view返回回来; 4、 onActivityCreated();//fragment所在的activity启动完成后调用; 5、 onStart():启动Fragment时会被回调, 6、 onResume()方法,调用onStart()方法后面一定会调用这个方法,恢复fragment时回调 7、 onPause():暂停Fragment 8、 onStop();//停止Fragment 9、 onDestroyView():销毁Fragment所包含的View组件,与onCreateView相对应 10、 onDestroy():销毁Fragment时会被回调 11、 onDetach():Fragment从Activity中删除时回调这个方法,并且只调用一次 启动fragment onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume() 屏幕锁屏 onPause()->onStop() 屏幕解锁 onStart()->onResume() 第一个fragment切换到第二个fragment 第一个onPause()->onStop()->onDestoryView()->onDestory()->onDetach(); 第二个onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume()
    查看全部
  • Fragment 生命周期: 1.onAttach():当Fragment被添加到Activity时候会回调这个方法,并且只调用一次 2.onCreat():创建Fragment时被回调,并且只调用一次 3.onCreatView():每次创建都会绘制Fragment的View组件时调用该方法 4.onActivityCreated():当Fragment所在的Activity启动完成后调用这个方法 5.onStart():恢复Fragment时会被回调,调用onStart()方法后面一定会调用onResume()方法 6.onPause():暂停Fragment 7.onStop():停止Fragment
    查看全部
  • Fragment的生命周期
    查看全部
  • fragment与Activity通信
    查看全部
  • 二、ProgressBar的关键方法 1、setProgress(int) 设置第一进度 2、setSecondaryProgress(int) 设置第二进度 3、getProgress( ) 获取第一进度 4、getSecondaryProgress( ) 获取第二进度 5、incrementProgressBy(int) 增加或减少第一进度 6、incrementSecondaryProgressBy(int) 增加或减少第二进度 7、getMax( )获取最大进度
    查看全部
  • 一、ProgressBar的关键属性 android:max = “100” ——最大显示进度 android:progress = “50” ——第一显示进度 android:secondaryProgress = “80” —— 第二显示进度 android:indeterminate = “true” —— 设置是否精确显示(注:true表示不精确显示,false表示精确显示进度)
    查看全部
  • 01.标题上ProgressBar的设置
    查看全部
  • 02.ProgressBar的分类
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android开发课程进阶部分的第1季,将讲解各种高级控件的使用,对于不熟悉Android开发的童鞋来说会有一定的难度,所以,建议在学习本门课程之前: 1、熟练掌握Java基础语法和面向对象编程 2、熟悉Android开发环境 3、熟练使用Button、ImageView等基础控件
老师告诉你能学到什么?
1、Android高级控件的应用场景 2、Android高级控件的使用方法 3、熟悉Android常用高级控件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!