安卓中getArguments()与getIntent()的区别
时间: 2023-05-22 16:06:56 浏览: 476
getArguments()和getIntent()都是用来获取传递给一个Fragment或者Activity的数据的。不同之处在于,getArguments()可以获得Bundle对象,而getIntent()可以获得Intent对象。Bundle对象可以用于传递非常量数据类型,例如对象,而Intent只能传递基本数据类型,如String和int等。此外,getArguments()只适用于Fragment,而getIntent()只适用于Activity。
相关问题
安卓中fragmentA怎么传递数据给fragmentB
在 Android 中,Fragment 之间传递数据可以通过 Bundle 实现。具体步骤如下:
1. 在 Fragment A 中创建一个 Bundle 对象,并将需要传递的数据放入 Bundle 中:
```java
Bundle bundle = new Bundle();
bundle.putString("key", "value");
FragmentB fragmentB = new FragmentB();
fragmentB.setArguments(bundle);
```
2. 在 Fragment B 中获取 Bundle 中的数据:
```java
Bundle bundle = getArguments();
String value = bundle.getString("key");
```
注意事项:
- 传递的数据类型要保证是可序列化的,如基本数据类型、String、Parcelable 对象等。
- 在 Fragment A 中创建 Bundle 对象时,需要通过 `setArguments()` 方法将 Bundle 对象传递给 Fragment B。
- 获取 Bundle 中的数据时,需要通过 `getArguments()` 方法获取 Bundle 对象。
getArguments()
getArguments()是一个Lua函数,用于获取传递给当前函数或脚本的参数列表。具体来说,它返回一个table,其中包含所有传递给该函数或脚本的参数。如果没有传递任何参数,则该函数返回一个空table。
阅读全文