我对不推荐使用的方法感到困惑,我使用的是一个扩展ListFragment类的类,我正在实现onattach()方法,该方法有两个“版本”
@Override
public void onAttach(Context context) {
super.onAttach(context);
//This method requires api level 23 or higher
}
和
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
//This method was deprecated in API level 23.
}
我读过一些不推荐的方法,我知道在将来的版本中它会被删除,然后我决定使用onattach(context context),但现在我感到困惑的原因有两个:
1-如果我想用minsdkversion 8和targetsdkversion 24做一个应用程序,我应该实现什么方法?
2-我正在用minsdkversion 8做一个应用,我使用了onattach(context context)方法,它在一个使用api8的模拟器中工作,我在一个使用api 16的智能手机中试过,它也工作,为什么工作?也许它应该只在版本23及更高版本中工作…?
最佳答案
如果使用Support Library ListFragment,则可以在所有API 4+设备上使用onAttach(Context)
。如果您使用的是“AA>”,那么onAttach(Context)
方法在预API 23设备上会失败,因为它不存在。
我怀疑,既然您已经确认onAttach(Context)
可以在旧的api级别上工作,那么您已经在使用支持片段了。