当使用Mark Murphy的MergeAdapter时,一切都编译得很好,但是当发生ListView绑定时,我在调用addAdapter()方法时遇到以下错误而崩溃:
java.lang.NoClassDefFoundError: com.commonsware.cwac.sacklist.SackOfViewsAdapter
SackOfViewsAdapter jar文件确实存在于cwac-merge项目的libs目录中。
我已经检查了项目附带的演示项目,虽然在尝试运行它时遇到NoClassDefFoundError异常,但我看不到它有的任何东西。
我感觉这是一个Eclipse配置问题,但我已经尝试了所有我能想到的内容。
有什么想法吗?
**更新:SackOfViewsAdapter也在cwac-merge项目中显示为引用库。
**更新2:我的.classpath:
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="lib" path="/Users/colsen/Projects/android/cwac-merge/libs/CWAC-SackOfViewsAdapter.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
**更新3 - 将SackOfViewsAdapter复制到本地libs目录。
<classpath>
<classpathentry kind="lib" path="libs/CWAC-SackOfViewsAdapter.jar"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
答案 0 :(得分:2)
SackOfViewsAdapter jar文件确实存在于cwac-merge项目的libs目录中。
看起来您还需要使用 SackOfViewsAdapter.jar
将MergeAdapter
添加到项目的Eclipse构建路径中。即使库项目对它的引用在编译时工作,它也不会在运行时工作。
我刚刚更新了demo/
Eclipse项目文件以反映这一点。
我为这个困难道歉。