1

私の既存のプロジェクトは、Fragments と FragmentPagerAdapters を使用してスムーズに実行されます。ただし、ActionBarSherlockライブラリを追加するとエラーが表示されます。同じ問題を抱えた [別の質問] を見つけましたが、答えがありません。

ライブラリをプロジェクトに追加する前は、エラーなしで次のように表示されます。

ここに画像の説明を入力

ライブラリを追加した後、 を編集しAndroidManifest.xmlて includeを追加するandroid:theme="@android:style/Theme.Sherlock"と、XML ファイルでもエラーが発生します。に変更するとandroid:theme="@style/Theme.Sherlock"、XML ファイルのエラーは消えますが、それでも機能せず、エラーは次のようになります。

ここに画像の説明を入力

編集:

以下のCommonsWareの回答で提案されたことを実行しましたが、コードはまだ正しく機能していません. すべてのエラーがなくなり、プロジェクトがビルドされ、デバイスで起動することさえあります。ただし、XML ファイルのグラフィカル レイアウトを入力すると、次のエラーが表示されます。

The following classes could not be found:
- android.support.v4.view.PagerTabStrip (Fix Build Path, Edit XML, Create Class)

XML ファイルは次のようになります。XML ファイルにはエラーが表示されませんが、Graphical Layoutタブに入ると上記のメッセージが表示されることに注意してください。を使用しているとは言いませんでしたViewPagerが、違いがあるとは思いませんでした。

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

    <LinearLayout
        android:id="@+id/wavesMonitorMenuBar"
        style="@android:style/ButtonBar"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

    <Button
        android:id="@+id/backButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/menu_back" />

    <Button
        android:id="@+id/readButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/menu_read" />
</LinearLayout>

<android.support.v4.view.ViewPager
    android:id="@+id/statusPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_above="@id/wavesMonitorMenuBar" >
    <android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_title_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:background="#9E9E9E"
        android:textColor="#fff"
        android:paddingTop="4dp"
        android:paddingBottom="4dp" />


    </android.support.v4.view.ViewPager>


</RelativeLayout>

ここから選択しましFix Build Pathたが、それでも問題を解決できませんでした。と の両方library.jarを選択しようとしandroid-support-v4.jarましたが、役に立ちませんでした。これらのエラーを含む XML ファイルを使用するビューを開こうとすると、プログラムがクラッシュします。

これは、選択したときに表示されるウィンドウですFix Build Path

ここに画像の説明を入力

4

3 に答える 3

3

コンソールが赤色で表示しているように、 という名前android-support-v4.jarの 2 つの JAR があり、実際のファイルは同じではありません。サイズまたは内容が異なります。したがって、Android は 2 つの JAR のどちらが必要かを認識しません。

通常、簡単な答えはプロジェクトから JAR を削除することです。ActionBarSherlock にはこの JAR があり、プロジェクトは ActionBarSherlock をライブラリ プロジェクトとしてアタッチする一環としてそれを選択します。

于 2013-01-22T19:39:33.867 に答える
2

SherlockActionBar の android-support-v4.jar は古すぎて (少なくともダウンロードしたプロジェクトでは)、PagerTabStrip が含まれていません。

actionbarsherlock ライブラリ プロジェクトのサポート ライブラリを置き換えることで解決します。

于 2013-03-26T11:48:27.810 に答える
0

SherlockActionBar の libs フォルダーには android-support-v4.jar があります。プロジェクトの lib フォルダーから android-support-v4.jar を削除して、jar が Sherlock のプロジェクトから使用されるようにしてください。

于 2013-01-22T20:07:13.137 に答える