gpt4 book ai didi

android - MultiChoiceModeListener 支持早于 11 的 Android API 版本

转载 作者:太空狗 更新时间:2023-10-29 15:03:42 24 4
gpt4 key购买 nike

我有一个实现 MultiChoiceModeListener 接口(interface)的 fragment (v4 支持库)。但是我在 list 中定义了 android:minSdkVersion="7" 。所以我的 fragment 类向我显示了错误:

Class requires API level 11 (current min is 7): android.widget.AbsListView.MultiChoiceModeListener

解决方案是使用 @SuppressLint("NewApi")。虽然该应用程序可以成功编译,但我猜测它会导致该应用程序在较旧的 Android 版本中崩溃。

那么是否有可能在较旧的 Android 版本中不让应用程序失败,同时仍然为较新的版本实现 MultiChoiceModeListener 接口(interface)?还是我需要有两个不同版本的应用程序或 fragment 或其他内容?

最佳答案

So is it possible to not have the app fail in older Android versions, while still have the MultiChoiceModeListener interface implemented for newer versions ?

MultiChoiceModeListenerHoneyComb(API 级别 11)中与 ActionBar API 一起引入的类。不幸的是,与 ActionBar 不同,此类在支持库中没有对应的类以在较低版本的 android 上提供其功能。您有两个选择,您要么放弃该功能,要么在不支持它的较低版本上提供您自己的类似实现。

要放弃低版本的功能,您只需要一个 if 子句来包装您设置监听器的代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// we are on HoneyComb or above so its safe to use
listView.setMultichoiceModeListener(...);
}

关于android - MultiChoiceModeListener 支持早于 11 的 Android API 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24094106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com