我更新了我的应用程序以使用最新的支持库(版本 23.0.0),我发现他们弃用了 Fragment 类的 onAttach() 函数。
代替:
onAttach (Activity activity)
onAttach (Context context)
@Override
public void onAttach(Context context) {
super.onAttach(context);
activity = getActivity();
}
Activity 是一个上下文,所以如果您可以简单地检查上下文是一个 Activity 并在必要时进行转换。
@Override
public void onAttach(Context context) {
super.onAttach(context);
Activity a;
if (context instanceof Activity){
a=(Activity) context;
}
}
Context
永远不会调用 override。我已经做了一些测试,但找不到这样的场景,根据源代码,它永远不应该是真的。在我测试的所有情况下,SDK23 之前和之后,Activity
和 Context
onAttach
的版本被称为。如果您能找到一种情况并非如此,我建议您创建一个示例项目来说明该问题和 report it to the Android team .关于Android Fragment onAttach() 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083053/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |