我用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)
我知道如何添加库依赖项,所以我认为我没有做错。
答案 0 :(得分:2)
您是如何添加项目参考的?你去过Properties - &gt; Android - &gt;图书馆 - &gt;加?这与属性 - &gt;不同Java构建路径 - &gt;项目 - &gt;加。你应该使用第一种方式。
第二个问题是正常的,因为JazzyView是一个Android库,当你将它导出为jar时,资源将会丢失。你永远无法这样做。
答案 1 :(得分:0)
根据链接android dependencies,R
类不再打包在库项目的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
并完成它我也为我自己的项目问题做了这个