我有一个使用v4支持库实现了MultiChoiceModeListener
接口的片段。但是我在清单文件中定义了android:minSdkVersion="7"
。因此,我的片段类显示以下错误:
Class requires API level 11 (current min is 7): android.widget.AbsListView.MultiChoiceModeListener
一个解决方案是使用 @SuppressLint("NewApi")
。尽管应用程序可以成功编译,但我猜测它会导致在旧版 Android 中崩溃。
那么,在旧版 Android 中不让应用程序失败,同时仍然为新版本实现MultiChoiceModeListener
接口,是否有可能?还是我需要在这些行中有两个不同版本的应用程序或片段之类的东西?
MultiChoiceModeListener
是ActionMode.Callback
的自定义实现,对于较低的平台版本,自己实现它应该不难。 - userMultiChoiceModeListener
设置为ListView
中的一个if
子句(您可能还需要在该类上使用@TargetAPI注释)。 - user