- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个实现 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 ?
MultiChoiceModeListener
是 HoneyComb
(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/
我有一个 javascript 函数,可以执行以下操作; 它将日期编辑框设置为与另一个日期编辑相同的日期。但是我希望它将 txt_Testin
我有一个输入框,类型为“时间”。我想将迟到时间 (23:00pm) 作为最小值,将早期时间 (6:00am) 作为最大值 - 创建一个 23pm - 6am 的范围。 (即中午 11 点、中午 12
使用 Joda 时间并获得类似以下行为的最简单方法是什么: public boolean check( DateTime checkTime ) { DateTime someTime = n
我想计算 updated_at 比 created_at 早 2 小时的记录。 代码 $teLang = $kentekens->where('updated_at', '>', 'created_a
我是一名优秀的程序员,十分优秀!