在将SDK更新到API级别23之后,我发现不推荐使用onAttach (Activity activity),而新方法是onAttach (Context context)。有人可以启发我为什么要进行此更改吗?

最佳答案

我认为基本上是扩大了该方法的范围,但是官方的changelog没有透露任何信息。

正如您在变更日志中看到的那样,他们已删除了void onAttach(Activity),但添加了一个具有相同名称的新Activity,并表示Android Official Documentation中已弃用该名称。

正如richq所评论的,support version of Fragment也弃用了onAttach(Activity)并具有onAttach(Context),可将其用于所有Android版本,甚至可以恢复到史前版本。

要适应此新更改,您可以按照以下步骤操作:

  • 将onAttach回调的参数类型从Context更改为onAttach(Context)。由于未知原因,此修改导致以下事实:在 fragment 生命周期内不再调用onAttach方法。
  • onCreate方法中的代码移至ojit_code一个,因为它仍会执行。

  • 进行此修改后,该应用将像以前一样运行。不需要其他导入语句。

    关于android - 为什么不赞成onAttach( Activity Activity )?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32393620/

    10-12 01:51