Android 1.6+中的LruCache

3

我需要在Android 1.6+中使用LruCache (Android 3.1的一个API)。

我使用了支持LruCache的Android Support Library v4 (参见这个手册),但问题是我一直收到NoClassDefNotFoundError错误。我在项目中包含了support.v4库 (在另一个活动中我使用ViewPager...)。

有人知道为什么会出现这种情况吗?

2个回答

12

您需要使用 android.support.v4.util.LruCache<K, V> 而不是 android.util.LruCache<K, V>,因为第二个仅存在于API >= 12的Android版本上...请检查是否导入来自支持库而非SDK的缓存。


我是如何做的,是的,我包括了support.v4,而不是util。无论如何,这个问题在我的Galaxy Nexus上运行Android 4.0.4时也发生了:S我找到的唯一解决方案是从支持库代码中获取LruCache.java并将其直接放入我的项目中。 - Aracem

-2
为了避免这个问题,我将LruClass.java包含在我的项目中,这样就不会再出现NoClassDefNotFoundError了。
LruClass.java位于:
Android SDK位置/extras/android/support/v4/src/java/android/support/v4/util/LruCache.java。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接