android activity怎么给fragment传值

android activity怎么给fragment传值,第1张

参数传递方法

在Activity中定义一个字段、然后添加set和get方法、代码如下、mTitle就是要传递的参数、如果是传递对象、可以把mTitle换成一个对象即可

Fragment调用方法、需要注意的是在设值的时候要进行强转一下

参数传递方法二

可以使用bundle进行参数传递、这样在两个Fragment跳转的时候就可以带上参数了、同样也可以传递一个复杂的对象

在另外一个Fragment获取参数的方式只需要一个语句、key是自己定义的一个标识、参数的形式只要bundle能传递都可以实现

1、通过一些通信工具 如eventbus,这个是可以任意页面 组件通信

2、通过获取实例的方式

fragment通过getActivity()方法来获得Activity的实例,然后可以获取到此activity中的静态方法变量,也可以获取到它页面的控件

同理 在activity中通过ExampleFragment fragment = (ExampleFragment) getFragmentManager()findFragmentById(Ridexample_fragment);

获取到fragment实例

此种方式也用在同一个activity 中的两个fragment中通讯

首先在一个Fragment中可以得到与它相关联的Activity,然后再通过这个Activity去获取另外一个Fragment的实例,这样就实现了不同Fragment之间的通信。

3、通过回调的方式(这个需要学习回调怎么用):

一些情况下,可能需要fragment和activity共享事件,一个比较好的做法是在fragment里面定义一个回调接口,然后要求宿主activity实现这个接口。当activity通过这个接口接收到一个回调,它可以让同布局中的其他fragment分享这个信息。

4、通过Bundle传值

Activity在切换Fragment的时候,通过setArguments向Fragment传递参数,Fragment通过getArguments();获得从activity中传递过来的值

5、在applaction中定义需要的数据和方法,applcation是每个类 页面都可以访问到的

6、contentprovider 数据库 shareperence 等很多 大致常用的也就这些了

你的Activity里面注册过fragment吗?

像这样========》

private void InitViewPager() {

mPager = (ViewPager) findViewById(RidvPager);

fragmentsList = new ArrayList<Fragment>();

Fragment activityfragment = TestFragmentnewInstance("Hello Activity");

Fragment groupFragment = TestFragmentnewInstance("Hello Group");

Fragment friendsFragment=TestFragmentnewInstance("Hello Friends");

Fragment chatFragment=TestFragmentnewInstance("Hello Chat");

fragmentsListadd(activityfragment);

fragmentsListadd(groupFragment);

fragmentsListadd(friendsFragment);

fragmentsListadd(chatFragment);

mPagersetAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList));

mPagersetCurrentItem(0);

mPagersetOnPageChangeListener(new MyOnPageChangeListener());

}

以上就是关于android activity怎么给fragment传值全部的内容,包括:android activity怎么给fragment传值、Android activity与fragment之间通信的好的方法有哪些、如何在activity中获取fragment的控件,然后修改控件的内容,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10192497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存