关于fragment和activty的通信个人的总结浅谈
来源:互联网 发布:淘宝网男花保 套装 编辑:程序博客网 时间:2024/05/29 18:07
fragment不能使用构造传参数,因为fragment不是普通的类,不能通过new对象的方式,将activty的参数传递给fragment,因为它是一个和activty一样有生命周期的,不是一般的类,fragment的构造是一个无参构造,new一个有参的构造也无法使用。
关于fragement和activty的通信就有以下两种方式,首先activty向fragment传值可以通过fragment的对象,和bundle值。fragment向activty传值只要是通过获取activty对象或者通过回调接口的方法。
首先我们来看fragment向activty里面传值:fragment可以轻松获取到它当前的activty:activty=getactivty();就ok了.第二种接口回调:
回调有三个要求:一个主类,一个辅助类。第二个是:不确定事件。第三个:
1.fragmemt给activty传值
例如下面这个例子:j就是通过获取activty对象,然后直接可以调它的方法,这样的话,就可以通信传值了
rec=new recycleadapter();activty= (PlayerActivity) getActivity();//获取关联的activty
//这是我的fragment和适配器写的一个回调接口rec.SetOnItemclick(new recycleadapter.Onitemlisten() { @Override public void onitemclick(View view, int position) { Toast.makeText(view.getContext(), list1.get(position).getUrl()+"", Toast.LENGTH_SHORT).show(); activty.setpaly();//在一个事件触发这个这个方法 }});mrycleview.setAdapter(rec);
2.activty给fragment传值
第一种:通过fragment对象,然后在调用方法传递,看代码
请看这个是fragment的代码:设了一个set的方法
public void set(int a){ this.a=a;}//这个下面是activty里面的部分代码通信传值核心都在这了fragments[0]=new fram_0(); fragments[1]=new fram_1();switch (checkedId) { case R.id.radioButton: change(0); ((fram_0) fragments[0]).set("我是activry哈哈哈哈");//注意这个就是调用它的set方法传值,
2.第二种方法,activty向fragment传值Bundle
activty中的传递:
fragments[0]=new fram_0();Bundle bundle=new Bundle();bundle.putString("name","33344445555");fragments[0].setArguments(bundle);
fragment中的接收
bundle=getArguments();Log.e("msg",""+bundle.getString("name"));
阅读全文
0 0
- 关于fragment和activty的通信个人的总结浅谈
- activity和activty之间的通信
- Activty与Fragment交互通信
- 关于activity和fragment的通信
- Android中Activty的生命周期和栈
- Activty和Task的启动模式
- fragment的创建和通信
- activity和fragment的通信
- 关于service 与 activty 之间通信
- 一个Activty的生命周期
- Activty的生命周期
- activty的生命周期
- 一个Activty的生命周期
- 温习Activty的生命周期
- 关于Fragment与Fragment、Activity通信的四种方式
- 关于Fragment与Fragment、Activity通信的三种方式
- 关于Fragment与Fragment、Activity通信的四种方式
- 关于Fragment与Fragment、Activity通信的五种方式
- TensorFlow在训练模型时指定GPU进行训练
- 自定义View圆形进度条带跳转页面
- UVA
- vmware10新建redhat7系统操作教程
- Java阶段学习心得
- 关于fragment和activty的通信个人的总结浅谈
- 自定义view继承LinearLayout实现购物车数量的加减
- 数据库视频(七)
- 对于图的储存的总结(一)
- python开头两行code
- Java String的常用方法
- 实验测试《C++ Primer》第五版——第七章 类
- mysql存储过程简介(仅供参考)
- Linux系统编程(1)——文件与I/O之C标准I/O函数与系统调用I/O(尹成清华毕业生)