JazzyViewPager java.lang.ClassNotFoundException

时间:2013-08-27 14:38:54

标签: java android android-viewpager classnotfoundexception

我用JazzyView寻呼机(https://github.com/jfeinstein10/JazzyViewPager)替换了标准的viewpager,方法是导入项目并添加依赖项,然后编辑XML文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.jfeinstein.jazzyviewpager.JazzyViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </com.jfeinstein.jazzyviewpager.JazzyViewPager>

</LinearLayout> 

但是我收到了一个错误:

找不到以下课程: - com.jfeinstein.jazzyviewpager.JazzyViewPager

当我删除项目并将jar添加到构建路径时,我收到此错误:

  

无法实例化以下类:    - com.jfeinstein.jazzyviewpager.JazzyViewPager

     

抛出java.lang.ClassNotFoundException:   com.jfeinstein.jazzyviewpager.R $设置样式       在java.net.URLClassLoader $ 1.run(在java.net.URLClassLoader $ 1.run(at)   java.security.AccessController.doPrivileged(at   java.net.URLClassLoader.findClass(at   java.lang.ClassLoader.loadClass(at   java.lang.ClassLoader.loadClass(at   com.jfeinstein.jazzyviewpager.JazzyViewPager。(JazzyViewPager.java:67)       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(at sun.reflect.NativeConstructorAccessorImpl.newInstance(at   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(at   java.lang.reflect.Constructor.newInstance(at   com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:422)       在com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:179)       在android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)       在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135)       在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:746)       在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)       在android.view.LayoutInflater.rInflate(LayoutInflater.java:718)       在android.view.LayoutInflater.inflate(LayoutInflater.java:489)       在android.view.LayoutInflater.inflate(LayoutInflater.java:372)

我知道如何添加库依赖项,所以我认为我没有做错。

3 个答案:

答案 0 :(得分:2)

您是如何添加项目参考的?你去过Properties - &gt; Android - &gt;图书馆 - &gt;加?这与属性 - &gt;不同Java构建路径 - &gt;项目 - &gt;加。你应该使用第一种方式。

第二个问题是正常的,因为JazzyView是一个Android库,当你将它导出为jar时,资源将会丢失。你永远无法这样做。

答案 1 :(得分:0)

根据链接android dependenciesR类不再打包在库项目的jar ouptut中。另请参阅用于添加android库作为项目依赖项的相同链接。

答案 2 :(得分:0)

您必须查看设置内容setContentView(R.layout.buttonslideshowlayout),其中您放置了一个控件xml名称

<com.jfeinstein.jazzyviewpager..JazzyViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/jazzy_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/h1" />

这里用您的项目名称更改com.jfeinstein.jazzyviewpager并完成它我也为我自己的项目问题做了这个