0

アンドロイド用のプルトゥリフレッシュウィジェットをダウンロードしましたが、今はそれを機能させようとしています。プラグインとプラグインのサンプルフォルダーからすべてをプロジェクトにコピーし、com.markupartist.android.widget.PullToRefreshListViewのRへのインポート参照をプロジェクトのRファイルに変更しました。この時点で正常に動作しました。

次に、別のレイアウトをres / layoutに追加し、奇妙なエラーメッセージが表示されるようになりました。このレイアウトは私のプロジェクトでは使用されていません。ファイルを配置するだけです。現在の例外メッセージは次 のとおりです。コンテンツには、id属性が「android.r.id.list」であるリストビューが必要です (このIDを持つサンプルプロジェクトのpull_to_refresh.xmlにはまだリストビューがありますが、変更されていません)。追加したxmlファイル(crasher.xmlという名前)の内容は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"

    android:orientation="horizontal"
    android:padding="5dip" >

    <!-- Article title -->
    <TextView
        android:id="@+id/alr_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="Article title"
        android:textColor="#040404"
        android:typeface="sans"
        android:textSize="15dip"
        android:textStyle="bold"/>

</RelativeLayout>

この新しく追加されたレイアウトを変更すると、例外が変わることがあり、PullToRefreshListView.javaの93行目からスローされます。ここで、インフレーターが呼び出されて、pull_to_refresh_headerファイルがインフレーションされます。インフレータとどういうわけか矛盾するレイアウトに問題があるとほぼ確信しています。しばらくの間、RelativeLayoutをLinearLayoutにキャストできないというエラーがこの行に表示されていました(どこでもキャストできることに気づいていません)-今は正確に何をしたのか思い出せず、再現できませんが、追加および未使用のレイアウトcrasher.xmlのビューを変更します。

私は膨らませるプロセスを完全に理解しておらず、どこに問題があるのか​​判断できません。誰か助けてもらえますか?

前もって感謝します。

4

1 に答える 1

0

私はついにこの種の問題の解決策を見つけました:

クリーンビルドが解決策のようです。NetBeansの「実行」- >「クリーンアンドビルド」では、Eclipseにも同様のオプションがあると思います。これは、生成されたレイアウトリソースに関するさまざまな奇妙な問題を解決します。これらのリソースは、明らかに十分にキャッシュされておらず、開発中に再構築されます。

于 2012-09-13T10:00:20.253 に答える