16

SDK 15 と最小 SDK 8 をターゲットにして、Actionbar Sherlock 4 を利用しようとしています。 avcp6eD_X2k

まだ問題が発生しています。android:theme="@style/Theme.Sherlock" をマニフェスト ファイルに追加しようとすると、次のエラーが表示されます。

指定された名前に一致するリソースが見つかりません (「テーマ」で値「@style/Theme.Sherlock」)。

アクションバー Sherlock ライブラリ プロジェクトをプロジェクトに含めましたが、インポート ステートメントはそこにあり、エラーは発生しません。

SherlockActivity を拡張し、ActionBar.TabListener を実装します

デモコードとドキュメントと同じようにそれでも、Eclipseはこのエラーを出します。そこに何かアイデアはありますか?

4

6 に答える 6

16

私が遭遇した落とし穴はこれでした: ActionBarSherlock プロジェクトへの参照は、プロジェクト プロパティの Android->Libraries セクションにある必要がありますが、それを Build Path->Libraries に追加していました。

于 2012-07-11T06:02:31.500 に答える
9

役立つかもしれない奇妙な異常に遭遇しました!

ABSを使用するAndroidプロジェクトを構築し、Gingerbreadで実行すると正常に動作し、ICSでクラッシュし、ICSでのクラッシュがこれにより発生します。AndroidManifest.xmlを確認してください(簡潔にするためにビットを削除しました...

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:theme="@style/Theme.Sherlock">

ICS でクラッシュを引き起こしたのはandroid:theme部分でした。Gingerbread および古いバージョンでは問題なく動作しました。解決策はそれを完全に削除することでした!次に、アクティビティから次の操作を行います。

@Override
public void onCreate(Bundle savedInstanceState) {
   if (Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){
        this.setTheme(com.actionbarsherlock.R.style.Theme_Sherlock);
   }
   super.onCreate(savedInstanceState);
   ... // MORE CODE ....
}

これにより、ICS でのクラッシュが修正されました。テーマ スタイルは ICS では好まれませんが、2.3 未満のバージョンと 4.0 以上のバージョンの両方で正常に動作します.奇妙なエラーですが、まぐれで発見しました!

基本クラス独自のonCreateを呼び出す前に、忘れずにテーマを適用してください。

于 2012-04-27T15:32:31.267 に答える
4

Eclipseにライブラリプロジェクトを含めるための私の標準的な手順は次のようになります。

  • ライブラリプロジェクトをインポートする
  • ライブラリプロジェクトの[プロパティ]->[Android]->[プロジェクトビルドターゲットの設定]を右クリックします(ライブラリとプライマリプロジェクトが同じであることを確認してください)
  • ライブラリプロジェクトのAndroidツールを右クリック->プロジェクトのプロパティを修正
  • ライブラリプロジェクトを選択し、[プロジェクト]->[クリーン...]を選択します。
  • プライマリプロジェクトを選択し、次にプロジェクト->クリーン...を選択します。

それはあなたを苦しめるものは何でも修正するはずです。

于 2012-04-27T15:23:58.607 に答える
1

この問題は、プロジェクトの次の2つの手順で解決しました。

  1. 「プロジェクトプロパティ」/ビルドパスから「ライブラリ」を削除し、「プロジェクトプロパティ」/Android/ライブラリにライブラリを追加します
  2. プロジェクト「AndroidTools」->「Addsupportlibrary」を右クリックします
于 2013-01-24T23:50:07.223 に答える
1

私はついに解決策を見つけました:

  1. 重要!ライブラリとプロジェクトの両方のプロジェクトに同じ android-support-v4.jar をコピーします (これが主な問題です)。
  2. 「ライブラリ」プロジェクトをワークスペースにインポート
  3. ライブラリ プロジェクトの [プロパティ] を右クリック -> [Android] -> [ターゲット名] 4.x (任意、API レベル 14、15、または 16) を確認します。一番下のチェック「Is library」。
  4. プロパティで、「Java Build Path」の「Libraries」タブに移動し、「Android Dependencies」で通常「android-support-v4.jar」を見つけます。OK してプロパティを閉じます。
  5. ライブラリ プロジェクトの Android ツールを右クリック -> プロジェクトのプロパティを修正
  6. Menu Project -> Clean... で、「Library」プロジェクトを消去することを選択します。

この場所で、プロジェクトの「ライブラリ」を実行する必要があります (エラーなし)。

  1. 独自のプロジェクトを作成またはインポートします。例「マイプロジェクト」
  2. プロパティで、「Java Build Path」の「Libraries」タブに移動し、「Android Dependencies」で通常「android-support-v4.jar」を見つけます。
  3. 「プロジェクト」タブに移動します。追加...そして「ライブラリ」プロジェクトを選択します。
  4. プロパティで Android に移動 -> 「ターゲット名」 4.x (任意、API レベル 14、15、または 16) を確認します。重要: 「ライブラリ」プロジェクトと同じである必要があります。一番下の「Is Library」はチェックされていない必要があり、この場所で「追加...」を押して「library」プロジェクトを選択します。Ok および Close プロパティ。
  5. 「MyProject」プロジェクト Android ツールを右クリック -> プロジェクトのプロパティを修正
  6. Menu Project -> Clean... で、「MyProject」プロジェクトを消去することを選択します。

すでに、プロジェクトは完了している必要があります。エラーが続く場合は、Eclipse を再始動してください。

于 2013-01-18T13:39:14.590 に答える