activity与fragment传值
时间: 2023-04-28 22:00:12 浏览: 137
Activity与Fragment之间传值可以通过以下几种方式:
1. Bundle传值:在Activity中创建一个Bundle对象,将需要传递的值放入Bundle中,然后通过Fragment的setArguments()方法将Bundle传递给Fragment。在Fragment中可以通过getArguments()方法获取传递过来的值。
2. 接口回调:在Fragment中定义一个接口,Activity实现该接口,并将Activity的实例传递给Fragment。在Fragment中调用该接口的方法,将需要传递的值作为参数传递给Activity。
3. 共享ViewModel:在Activity中创建一个ViewModel对象,Fragment通过ViewModelProviders.of()方法获取ViewModel对象,并在Fragment中修改ViewModel中的值。Activity和Fragment都可以通过ViewModel获取到修改后的值。
4. startActivityForResult()方法:在Activity中通过startActivityForResult()方法启动Fragment,Fragment在需要传递值的地方调用setResult()方法将值传递给Activity,在Activity的onActivityResult()方法中获取传递过来的值。
以上是常用的几种方式,根据具体情况选择合适的方式进行传值。
相关问题
activity向fragment传值
在 Activity 中可以使用 Intent 传递数据到 Fragment。例如,在 Activity 中创建一个 Intent 对象,并使用 putExtra() 方法存储需要传递的数据,然后在 Fragment 中使用 getIntent() 方法获取 Intent 对象并调用 getXXXExtra() 方法获取数据。
另外,还可以使用 Bundle 对象在 Fragment 之间传递数据。在 Activity 中使用 Bundle 对象存储数据,然后在 Fragment 中使用 getArguments() 方法获取 Bundle 对象并调用 getXXX() 方法获取数据。
activity给fragment传值
可以通过Bundle来给Fragment传值,具体步骤如下:
1. 在Activity中创建Bundle对象,并将需要传递的值放入Bundle中:
```
Bundle bundle = new Bundle();
bundle.putString("key", "value");
```
2. 创建Fragment对象,并将Bundle对象传递给Fragment:
```
MyFragment fragment = new MyFragment();
fragment.setArguments(bundle);
```
3. 在Fragment中获取传递过来的值:
```
Bundle bundle = getArguments();
String value = bundle.getString("key");
```
阅读全文
相关推荐















