2012-08-25 47 views
5

estoy tratando de utilizar ViewPagerIndicator biblioteca de Jake Wharton en mi proyecto, y seguido el sencillo tutorial expuso aquí:ViewPagerIndicator ClassNotFoundException?

http://viewpagerindicator.com/

pero aparece un ClassNotFoundException cuando intento ejecutar mi proyecto.

Aquí está el código XML que tengo en mi diseño:

<android.support.v4.view.ViewPager 
    android:id="@+id/day_pager" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" /> 

<com.viewpagerindicator.TitlePageIndicator 
    android:id="@+id/titles" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" /> 

y aquí está el código correspondiente que tengo (dayPage es un tipo ViewPager).

ArrayList<Integer> testData = new ArrayList<Integer>(); 
    testData.add(12); 
    testData.add(13); 
    testData.add(22); 

    dayPage = (ViewPager) this.getActivity().findViewById(R.id.day_pager); 
    dayPage.setAdapter(new DayAdapter(testData)); 

    //Bind the title indicator to the adapter 
    TitlePageIndicator titleIndicator = (TitlePageIndicator)this.getActivity().findViewById(R.id.titles); 
    titleIndicator.setViewPager(dayPage); 

Los valores en testData son basura por ahora.

El seguimiento de pila completo es:

08-25 22:32:23.420: E/AndroidRuntime(1710): FATAL EXCEPTION: main 
08-25 22:32:23.420: E/AndroidRuntime(1710): android.view.InflateException: Binary XML file line #12: Error inflating class com.viewpagerindicator.TitlePageIndicator 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at vt.finder.sherlock.ScheduleFragment.onCreateView(ScheduleFragment.java:50) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at vt.finder.sherlock.ScheduleFragment.onCreate(ScheduleFragment.java:30) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:835) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1083) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:635) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1431) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.view.ViewPager.populate(ViewPager.java:895) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.view.ViewPager.populate(ViewPager.java:772) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1234) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewRoot.performTraversals(ViewRoot.java:839) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.os.Looper.loop(Looper.java:130) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at dalvik.system.NativeStart.main(Native Method) 
08-25 22:32:23.420: E/AndroidRuntime(1710): Caused by: java.lang.ClassNotFoundException: com.viewpagerindicator.TitlePageIndicator in loader dalvik.system.PathClassLoader[/data/app/vt.finder.sherlock-1.apk] 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.createView(LayoutInflater.java:471) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  ... 37 more 

Importé el proyecto ViewPagerIndicator como una biblioteca de mi proyecto, y una doble comprobación de que el nombre del paquete estaba intacto, y así fue. Hice una limpieza en mi proyecto, pero aún recibo la excepción de clase no encontrada. ¿Me estoy perdiendo de algo?

+0

Asegúrese de que realmente tiene el proyecto de biblioteca adjunto a su proyecto de aplicación (por ejemplo, aparece en Dependencias de Android en Eclipse). – CommonsWare

+0

importó el jar de suppport? – Ahmad

+0

No aparece en las Dependencias de Android ... extraño. Debido a que puedo hacer referencia a TitlePageIndicator en el código (además de importarlo) y no aparece ningún error ... ¿hay alguna lista adicional en la que deba agregar el proyecto? – Ethan

Respuesta

15

Mucha gente agrega esto a la carpeta de la lib o importar (lo cual no es correcto)

lugar es necesario agregar todo el proyecto (fuente y todos los recursos) en el marco del diálogo de propiedades/androide en las bibliotecas sección (mostrada a continuación)

Si no está seguro de lo que hizo, intente eliminar todas las referencias a la biblioteca para que no esté en la biblioteca o en la carpeta de biblioteca referenciada y no aparezca en la ruta de construcción properties/java - pestaña de bibliotecas

A continuación, vuelva a agregar todo el proyecto en el cuadro de diálogo Propiedades/Android, haga una compilación limpia (a veces dos veces, gracias eclipse) y debería funcionar correctamente.

added it to Eclipse?

+0

¿Qué tal en Android Studio? ¿Qué funciona? – brunoramonalmeida

1

Los pasos sugeridos anteriormente no funcionó para mí, pero esto hizo el truco: Proyecto

  • clic derecho en, propiedades
  • java trayectoria de la estructura, en la ficha fuente
  • carpeta de complemento, agregue la problemática carpeta
Cuestiones relacionadas