fragment如何向activity传递参数
时间: 2023-12-10 07:58:51 浏览: 30
要向Activity传递参数,可以使用Bundle对象。
在fragment中,可以通过以下代码创建一个Bundle对象,并将参数添加到它中:
```
Bundle bundle = new Bundle();
bundle.putString("key", "value");
```
在这里,我们使用putString()方法将一个键值对添加到Bundle中,其中键为“key”,值为“value”。
接下来,可以将创建的Bundle对象附加到Intent对象中:
```
Intent intent = new Intent(getActivity(), YourActivity.class);
intent.putExtras(bundle);
startActivity(intent);
```
在这里,我们使用putExtras()方法将Bundle对象添加到Intent中,并使用startActivity()方法启动Activity。
在Activity中,可以使用以下代码获取传递的参数:
```
Bundle bundle = getIntent().getExtras();
String value = bundle.getString("key");
```
在这里,我们使用getExtras()方法获取传递的Bundle对象,并使用getString()方法获取键为“key”的值(在此示例中为“value”)。
相关问题
activity向fragment传递参数
在Activity向Fragment传递参数可以通过Bundle实现,具体步骤如下:
1. 在Activity中创建Bundle对象并设置需要传递的参数:
```java
Bundle bundle = new Bundle();
bundle.putString("key", "value"); //设置需要传递的参数,key为参数名,value为参数值
```
2. 实例化Fragment并将Bundle对象设置到Fragment中:
```java
MyFragment fragment = new MyFragment();
fragment.setArguments(bundle); //将Bundle对象设置到Fragment中
```
3. 在Fragment中获取传递的参数:
```java
String value = getArguments().getString("key");
```
注意:在获取参数时需要判断参数是否为空,以避免空指针异常。
activity向fragment中传递参数
可以使用Bundle来传递参数,例如:
在Activity中:
```
Bundle bundle = new Bundle();
bundle.putString("key", "value");
Fragment fragment = new MyFragment();
fragment.setArguments(bundle);
```
在Fragment中:
```
Bundle bundle = getArguments();
String value = bundle.getString("key");
```
这样就可以在Activity和Fragment之间传递参数了。