No se puede crear una instancia de class personalizada en el file XML de layout de actividad de Android

Entonces mi XML se ve así:

<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> 

Sin embargo, cuando entro en Graphical View en Eclipse, aparece este error:

No se han podido encontrar las siguientes classs: – com.fortysevendeg.android.swipelistview.SwipeListView (Fix Build Path, Edit XML, Create Class)

En Eclipse, en mi window de Package Explorer tengo 3 packages.

  • android-swipelistview-master
  • myApp
  • biblioteca (una dependencia de android-swipelistview-master)

Se ve así: SCREENSHOT

Lo extraño es que no tengo ningún error en android-swipelist-view-master ni en los packages de la biblioteca. La única advertencia es para una variable no utilizada, que dudo en eliminar en caso de que se use en otro lugar. Simplemente no estoy instanciando correctamente, supongo. No lo sé. ¡No puedo entender esto!

Aquí está la configuration de myApp Package Properties> Android.

Después de hacer reference a todas las bibliotecas correctamente, cambié el XML para hacer reference a SwipeListView de esta manera:

 <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" /> 

¿Dijiste que tienes esos tres packages, dentro de tu propio proyecto?

Si copió el código fuente en el package android-swipelistview-master, habrá cambiado el nombre del package en el que se encontrará la vista swipelist.

Intente descubrir en qué package está ubicado, dentro de la nueva estructura que ha creado. No estoy seguro de su descripción aquí, pero intente algo como:

 <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" /> 

Eso es si realmente quisiste decir que "android-swipelistview-master" es su propio package.

Podrías lograr el resultado deseado de una manera mucho más limpia si en cambio revisas el directory completo del proyecto desde Github para esta biblioteca, lo importas a Eclipse y lo mencionas como un proyecto de biblioteca. Para get más información, consulte: la documentation de Android sobre proyectos de biblioteca .

Asegúrate de que tu proyecto de deslizamiento se vea así (tuve que mover el código de src / main / java a src): enter image description here

Luego defina el proyecto como proyecto de biblioteca, agregue NineOldAndroids como biblioteca (git: //github.com/JakeWharton/NineOldAndroids.git) y también la biblioteca de soporte de Android

enter image description here

Después de eso, puede agregar el proyecto android-swipelistview a su proyecto principal y eso debería funcionar (lo hago por mí).

Aunque este problema exacto en JellyBean y Eclipse Juno.Views se mostraba correctamente en el emulador / dispositivo, es algo específico del editor de layout gráfico.

Asegúrese de que las ubicaciones de los files java sean correctas. También, intente cambiar esta línea:

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

a

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

donde la location es la location completa (incluido el package) del file .java de su widget personalizado. Además, si declara el espacio de nombres al principio (con espacios de nombres de herramientas y de Android), no tendrá que repetirlo cada vez que se use el widget personalizado.