在将SDK更新到API 23级后,我发现 onAttach(Activity activity)
方法已被弃用,新方法是 onAttach(Context context)
。有人能告诉我为什么会进行这种更改吗?
在将SDK更新到API 23级后,我发现 onAttach(Activity activity)
方法已被弃用,新方法是 onAttach(Context context)
。有人能告诉我为什么会进行这种更改吗?
我认为基本上是扩展了方法的范围,但是官方变更记录没有提到任何有关它的内容。
正如您在变更记录中所看到的,他们删除了void onAttach(Activity)
,但是添加了一个具有相同名称的新方法,并且它说已经被弃用了Android 官方文档。
正如richq所评论的那样,Fragment 的支持版本也废弃了onAttach(Activity),并且拥有一个可以代替所有 Android 版本(甚至是史前版本)的onAttach(Context)。
为了适应这些新的变化,您可以按照以下步骤进行:
将onAttach回调的参数类型从Activity
更改为Context
。由于未知原因,这个修改导致了在片段生命周期中不再调用onAttach(Context)
方法。
将代码从onAttach
方法移动到onCreate
方法中,因为它仍然会被执行。
通过这个修改,应用程序可以像以前一样运行。不需要额外的导入语句。
onAttach
回调函数的参数类型从Activity
更改为Context
。由于未知原因,这种修改导致在片段生命周期中不再调用onAttach(Context)
方法。这让我感到困惑 - 你是不是想说"onAttach(Activity)
在片段生命周期中不再被调用了"? - stkent