MergeAdapter有问题

时间:2012-02-15 19:58:21

标签: android commonsware-cwac

当使用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>

1 个答案:

答案 0 :(得分:2)

  

SackOfViewsAdapter jar文件确实存在于cwac-merge项目的libs目录中。

看起来您还需要使用 SackOfViewsAdapter.jarMergeAdapter添加到项目的Eclipse构建路径中。即使库项目对它的引用在编译时工作,它也不会在运行时工作。

我刚刚更新了demo/ Eclipse项目文件以反映这一点。

我为这个困难道歉。