Android:如何碎片化采取全局变量的活动

2022-09-01 04:46:02

我有一个全局变量int x的活动,片段如何获取其活动的变量x的当前值?


答案 1

将 var 设置为 ,或使用public static

((MyActivity)getActivity()).getX()

答案 2

使用公共静态变量不是在活动和片段之间进行通信的最佳方式。查看此答案以获取其他方法:

Android 文档建议在片段想要与活动通信时使用接口。当活动想要与片段通信时,活动应该获取对片段的引用(使用findFragmentById),然后调用片段的公共方法。

这样做的原因是使片段与它们所处的活动分离。它们可以在任何活动中重复使用。如果从片段中直接访问父活动或其全局变量之一,则无法再在其他 Activity 中使用该片段。