0

所以我的 XML 看起来像这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Calendar" >

<com.fortysevendeg.android.swipelistview.SwipeListView
    xmlns:swipe="http://schemas.android.com/apk/res-auto"
    android:id="@+id/example_lv_list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:listSelector="#00000000"
    swipe:swipeActionLeft="reveal"
    swipe:swipeActionRight="reveal"
    swipe:swipeAnimationTime="10"
    swipe:swipeBackView="@+id/back"
    swipe:swipeCloseAllItemsWhenMoveList="true"
    swipe:swipeFrontView="@+id/front"
    swipe:swipeMode="right"
    swipe:swipeOffsetLeft="80dip"
    swipe:swipeOffsetRight="80dip"
    swipe:swipeOpenOnLongPress="false" />

</RelativeLayout>

但是,当我在 Eclipse 中进入图形视图时,我收到此错误:

找不到以下类: - com.fortysevendeg.android.swipelistview.SwipeListView(修复构建路径、编辑 XML、创建类)

在 Eclipse 中,在我的包资源管理器窗口中,我有 3 个包。

  • android-swipelistview-master
  • 我的应用程序
  • 库(android-swipelistview-master 的依赖项)

它看起来像这样:屏幕截图

奇怪的是,我在 android-swipelist-view-master 和库包中都没有任何错误。唯一的警告是针对未使用的变量,如果在其他地方使用它,我会犹豫是否要删除它。我想我只是没有正确实例化它?我不知道。这个我想不通!

是 myApp 包属性 > Android 设置。

4

4 回答 4

2

正确引用所有库后,我将 XML 更改为引用 SwipeListView,如下所示:

<main.java.com.fortysevendeg.android.swipelistview.SwipeListView
    xmlns:swipe="http://schemas.android.com/apk/res-auto"
    android:id="@+id/example_lv_list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:listSelector="#00000000"
    swipe:swipeActionLeft="reveal"
    swipe:swipeActionRight="reveal"
    swipe:swipeAnimationTime="10"
    swipe:swipeBackView="@+id/back"
    swipe:swipeCloseAllItemsWhenMoveList="true"
    swipe:swipeFrontView="@+id/front"
    swipe:swipeMode="right"
    swipe:swipeOffsetLeft="80dip"
    swipe:swipeOffsetRight="80dip"
    swipe:swipeOpenOnLongPress="false" />
于 2013-04-03T04:00:48.703 回答
0

你说你有这三个包,在你自己的项目中?

如果您将源代码复制到 android-swipelistview-master 包中,那么您已经更改了 swipelistview 所在的包名。

尝试在您创建的新结构中找出它位于哪个包中。我对您的描述并不肯定,但请尝试以下操作:

<android-swipelistview-master.com.fortysevendeg.android.swipelistview.SwipeListView
xmlns:swipe="http://schemas.android.com/apk/res-auto"
android:id="@+id/example_lv_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="#00000000"
swipe:swipeActionLeft="reveal"
swipe:swipeActionRight="reveal"
swipe:swipeAnimationTime="10"
swipe:swipeBackView="@+id/back"
swipe:swipeCloseAllItemsWhenMoveList="true"
swipe:swipeFrontView="@+id/front"
swipe:swipeMode="right"
swipe:swipeOffsetLeft="80dip"
swipe:swipeOffsetRight="80dip"
swipe:swipeOpenOnLongPress="false" />

也就是说,如果你真的意味着“android-swipelistview-master”是它自己的包。

如果您改为从 Github 中签出该库的整个项目目录,将其导入 Eclipse,并将其作为库项目引用,则可以以更简洁的方式获得所需的结果。如需更多阅读,请查看:关于库项目的 Android 文档

于 2013-04-03T02:57:10.620 回答
0

确保您的滑动项目看起来像这样(我必须将代码从 src/main/java 移动到 src): 在此处输入图像描述

然后将项目定义为库项目,将 NineOldAndroids 添加为库(git://github.com/JakeWharton/NineOldAndroids.git)以及 Android 支持库

在此处输入图像描述

之后,您可以将 android-swipelistview 项目添加到您的主项目中,这应该可以工作(它对我有用)。

于 2013-04-03T03:03:22.983 回答
0

在 JellyBean 和 Eclipse Juno 上遇到了这个确切的问题。不过,Views 在模拟器/设备中正确显示,所以它是图形布局编辑器特有的。

确保 java 文件位置正确。另外,尝试更改此行:

xmlns:swipe="http://schemas.android.com/apk/res-auto"

xmlns:swipe="http://schemas.android.com/apk/Location"

其中 location 是自定义小部件的 .java 文件的完整位置(包括包)。此外,如果您在开始时声明命名空间(使用 android 和工具命名空间),则不必在每次使用自定义小部件时都重复它。

于 2013-04-05T07:12:19.277 回答