3

https://github.com/chrisbanes/Android-PullToRefresh/を使用しようとしています。例に従いましたが、エラー java.lang.NoSuchFieldError: com.handmark.pullrefresh.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 にあります。

私は何か間違ったことをしていますか?

ありがとう!

4

2 に答える 2

2

私は同じ問題を抱えていました、

それを修正するために私がしたことは、ライブラリへの参照をリストの一番下から一番上に移動することでした。でのIDの生成と競合する、参照しているものがあったと思いますR.java

を検索しR.javapull_to_refresh_sub_text、正しく生成されていることを確認できます。

于 2012-09-27T15:58:53.463 に答える
2

Android SDK Tools r17 では、ライブラリ内のカスタム属性を使用したカスタム ビューのサポートが追加されています。カスタム属性を使用するレイアウトでは、名前空間 URI を使用する必要があります。

http://schemas.android.com/apk/res-auto

アプリ パッケージ名を含む URI の代わりに。この URI は、ビルド時にアプリ固有の URI に置き換えられます。

于 2012-06-07T20:27:56.670 に答える