我正在尝试使用https://github.com/chrisbanes/Android-PullToRefresh/.我按照示例进行操作,但出现了错误
java.lang.NoSuchFieldError:com.handmark.pulltorefresh.library.R $id.pull_to_refresh_sub_text
这是我的网格:
<com.handmark.pulltorefresh.library.PullToRefreshGridView
xmlns:ptr="http://schemas.android.com/apk/res/com.abc.myproject"
android:id="@+id/gv_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:listSelector="#00000000"
android:padding="4dp"
android:horizontalSpacing="4dp"
android:verticalSpacing="4dp"
android:gravity="center"
android:numColumns="3"
android:columnWidth="128px"
android:stretchMode="columnWidth"
ptr:ptrMode="pullDownFromTop"
ptr:ptrDrawable="@drawable/android" />
我跑步时遇到上述异常.我将PullToRefresh添加为工作空间中的另一个项目,并使其成为我项目的库.我还添加了Jar文件.我认为错误是因为
xmlns:ptr =“ http://schemas.android.com/apk/res/com.abc.myproject”?
我跟踪了代码,导致异常的行在LoadingLayout.java中:
mSubHeaderText =(TextView)header.findViewById(R.id.pull_to_refresh_sub_text);
难道我做错了什么?
谢谢!
解决方法:
Android SDK工具r17添加了对具有库中自定义属性的自定义视图的支持.使用自定义属性的布局必须使用名称空间URI:
http://schemas.android.com/apk/res-auto
而不是包含应用程序包名称的URI.在构建时,此URI被应用程序专用的URI取代.