1、第一种方式,也是最常用的方式,就是使用Bundle来传递参数
MyFragment myFragment = new MyFragment();
Bundle bundle = new Bundle();
bundle.putString("DATA",values);//这里的values就是我们要传的值
myFragment.setArguments(bundle);
然后在Fragment中的onCreatView方法中,通过getArgments()方法,获取到bundle对象,然后通过getString的key值拿到我们传递过来的值。
2、第二种方式,是在宿主Activity中定义方法,将要传递的值传递到Fragment中,在Fragment中的onAttach方法中,获取到这个值。
//宿主activity中的getTitles()方法
public String getTitles(){
return "hello";
}
//Fragment中的onAttach方法
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
titles = ((MainActivity) activity).getTitles();
}
//通过强转成宿主activity,就可以获取到传递过来的数据
3、下面在扩展一下创建Fragment和传递数值
如果我们不需要传递数值,那就直接可以在宿主activity中,跟平常一样创建fragment,但是如果我们需要传递数据的话,可以使用newInstance(数据)方法来传递,这个方法是自己定义的,但是是定义在Fragment中的一个静态方法。
static MyFragment newInstance(String s){
MyFragment myFragment = new MyFragment();
Bundle bundle = new Bundle();
bundle.putString("DATA",s);
myFragment.setArguments(bundle);
return myFragment;
}
//同样,在onCreatView中直接获取这个值
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_fragment,container,false);
Bundle bundle = getArguments();
String data = bundle.getString("DATA");
tv = (TextView) view.findViewById(R.id.id_fm_tv);
if(data != null){
tv.setText(data);
}
return view;
}
在宿主activity中,创建Fragment
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(android.R.anim.fade_in,android.R.anim.fade_out);
fragment1 = MyFragment.newInstance("这是第一个fragment");//这里只需要直接调用这个方法,就创建了一个fragment
fragment2 = MyFragment.newInstance("这是第二个fragment");
fragment3 = MyFragment.newInstance("这是第三个fragment");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# activity之间传递数据.Fragment与Activity传递数据
# fragment之间传递数据
# Android从Fragment跳转到其他Activity的简单实例
# Android开发使用Activity嵌套多个Fragment实现横竖屏切换功能的方法
# Android 中Fragment与Activity通讯的详解
# 详解Android activity与fragment之间的通信交互
# Android闹钟启动时间设置无效问题的解决方法
# 安卓(Android)开发之统计App启动时间
# 准确测量 Android 应用中 Activity 和&nb
# 这是
# 是在
# 第一个
# 那就
# 不需要
# 第二个
# 只需要
# 可以使用
# 第三个
# 方法来
# 第二种
# 第一种
# 转成
# 最常用
# 大家多多
# 就可以
# 直接调用
# activity
# public
# getTitles
相关文章:
建站之星如何取消后台验证码生成?
北京网站制作的公司有哪些,北京白云观官方网站?
建站之星安装后如何配置SEO及设计样式?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何通过智能用户系统一键生成高效建站方案?
如何快速搭建高效香港服务器网站?
淘宝制作网站有哪些,淘宝网官网主页?
香港服务器部署网站为何提示未备案?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
制作网站的公司有哪些,做一个公司网站要多少钱?
太原网站制作公司有哪些,网约车营运证查询官网?
购物网站制作公司有哪些,哪个购物网站比较好?
手机网站制作与建设方案,手机网站如何建设?
如何通过服务器快速搭建网站?完整步骤解析
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
西安大型网站制作公司,西安招聘网站最好的是哪个?
实例解析Array和String方法
建站主机与虚拟主机有何区别?如何选择最优方案?
建站之星导航菜单设置与功能模块配置全攻略
北京建设网站制作公司,北京古代建筑博物馆预约官网?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
如何通过建站之星自助学习解决操作问题?
如何通过西部数码建站助手快速创建专业网站?
,想在网上投简历,哪几个网站比较好?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
C++中引用和指针有什么区别?(代码说明)
如何快速搭建支持数据库操作的智能建站平台?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
小型网站制作HTML,*游戏网站怎么搭建?
平台云上自助建站如何快速打造专业网站?
制作网站的模板软件,网站怎么建设?
C#如何序列化对象为XML XmlSerializer用法
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
建站之星好吗?新手能否轻松上手建站?
如何选择最佳自助建站系统?快速指南解析优劣
网站按钮制作软件,如何实现网页中按钮的自动点击?
高性价比服务器租赁——企业级配置与24小时运维服务
深圳网站制作培训,深圳哪些招聘网站比较好?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
5种Android数据存储方式汇总
如何通过山东自助建站平台快速注册域名?
如何在Ubuntu系统下快速搭建WordPress个人网站?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
如何在万网自助建站中设置域名及备案?
,柠檬视频怎样兑换vip?
网站制作难吗安全吗,做一个网站需要多久时间?
*请认真填写需求信息,我们会在24小时内与您取得联系。