安卓开发 activity 向fragment 传参对象 代码实例
时间: 2023-11-25 19:08:05 浏览: 31
好的,我明白了。以下是一个简单的安卓开发示例,演示如何将对象作为参数传递给Fragment:
在Activity中:
```java
MyObject myObject = new MyObject(); // 创建一个对象
Bundle bundle = new Bundle(); // 创建一个bundle
bundle.putSerializable("myObject", myObject); // 将对象添加到bundle中
MyFragment fragment = new MyFragment(); // 创建一个Fragment
fragment.setArguments(bundle); // 将bundle作为参数传递给Fragment
```
在Fragment中:
```java
MyObject myObject = (MyObject) getArguments().getSerializable("myObject"); // 从bundle中获取对象
```
请注意,如果您的对象不可序列化,则不能使用上述代码来传递对象。
相关问题
安卓开发 activity 向fragment 传参
可以通过Bundle对象将参数传递给Fragment。在Activity中创建Bundle对象,设置参数值,然后将Bundle对象传递给Fragment。在Fragment中,使用getArguments()方法获取Bundle对象,然后获取参数值。具体实现步骤如下:
在Activity中:
1. 创建Bundle对象
```Bundle bundle = new Bundle();```
2. 设置参数值
```
bundle.putString("key", "value");
bundle.putInt("key", value);
```
3. 将Bundle对象传递给Fragment
```
Fragment fragment = new MyFragment();
fragment.setArguments(bundle);
```
在Fragment中:
1. 获取Bundle对象
```
Bundle bundle = getArguments();
```
2. 获取参数值
```
String value = bundle.getString("key");
int value= bundle.getInt("key");
```
Activity向fragment传递数据代码
可以使用Bundle来向fragment传递数据,具体代码如下:
在Activity中:
```
Bundle bundle = new Bundle();
bundle.putString("key", "value");
Fragment fragment = new YourFragment();
fragment.setArguments(bundle);
```
在Fragment中:
```
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String value = getArguments().getString("key");
// do something with value
return inflater.inflate(R.layout.your_fragment_layout, container, false);
}
```