activty 向自定义的dialog传递数据
时间: 2023-11-21 21:07:59 浏览: 32
可以通过Bundle来传递数据。在Activity中创建Bundle对象,将要传递的数据存入Bundle中,然后调用DialogFragment的setArguments()方法将Bundle对象设置给DialogFragment。在DialogFragment中可以通过getArguments()方法获取Bundle对象,然后从中取出数据。
下面是示例代码:
在Activity中:
```java
// 创建Bundle对象
Bundle bundle = new Bundle();
// 存入要传递的数据
bundle.putString("key", "value");
// 创建DialogFragment对象
MyDialogFragment dialog = new MyDialogFragment();
// 将Bundle对象设置给DialogFragment
dialog.setArguments(bundle);
// 显示DialogFragment
dialog.show(getSupportFragmentManager(), "MyDialogFragment");
```
在DialogFragment中:
```java
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// 从Bundle中获取传递的数据
Bundle bundle = getArguments();
String value = bundle.getString("key");
// ...
}
```
注意:在DialogFragment中需要通过getArguments()方法获取传递的数据,而不是使用Intent对象。