web-dev-qa-db-ja.com

@ style /Theme.Sherlockを解決できません

Actionbar Sherlock 4を使用しようとしていますが、sdk15とminsdk 8をターゲットにしています。UsageWebサイトに記載されている指示と、ここに掲載されているすばらしいビデオに従ってください。 http://www.youtube.com/ウォッチ?v = avcp6eD_X2k

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

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

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

sherlockActivityを拡張してActionBar.TabListenerを実装します

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

16
Ten_Ten_Steve

私は助けになるかもしれない奇妙な異常に遭遇しました!

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以降の両方のバージョンで正常に機能します。奇妙なエラーですが、私はflukeによって発見しました。

基本クラスの独自のonCreateを呼び出す前に、テーマを適用することを忘れないでください!

9
t0mm13b

私が遭遇した落とし穴は次のとおりです。ActionBarSherlockプロジェクトへの参照は、ビルドパス->ライブラリに追加している間、プロジェクトプロパティのAndroid->ライブラリセクションにある必要があります。

16
domsom

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

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

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

4
dbyoung

両方のプロジェクト、つまりライブラリとsettingActivityをインポートした後、最初にそれらをクリーンアップしてビルドします。次に、settingActivityプロジェクト->プロパティ->左側のメニュー(Androidなど)から2番目のオプションを選択します。右側にあるライブラリセクションは、[ライブラリの追加]をクリックするだけです。 prperパスは自動的にそのフレームに入ります。それは私の問題を解決します、私はエラーを受け取りませんでした。

1
user3780468

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

  1. 「プロジェクトプロパティ」/ビルドパスから「ライブラリ」を削除し、「プロジェクトプロパティ」/ Android /ライブラリにライブラリを追加します
  2. プロジェクト「Androidツール」->「サポートライブラリの追加」を右クリックします
1
Houcheng

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

  1. 重要!ライブラリとプロジェクトの両方のプロジェクトで同じAndroid-support-v4.jarをコピーします(これが主な問題です)。
  2. 「ライブラリ」プロジェクトをワークスペースにインポートします
  3. ライブラリプロジェクトのプロパティを右クリック-> Android->「ターゲット名」4.x(任意、APIレベル14、15、または16)をチェックします。下のチェック「ライブラリ」をチェックします。
  4. プロパティで、[Javaビルドパス]、[ライブラリ]タブに移動し、通常は[Androidの依存関係]で[Android-support-v4.jar]を見つけます。 Okおよびプロパティを閉じる。
  5. ライブラリプロジェクトを右クリックAndroidツール->プロジェクトプロパティの修正
  6. メニュープロジェクト->クリーン...で、「ライブラリ」プロジェクトのクリーンアップを選択します。

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

  1. 独自のプロジェクトを作成またはインポートします。例「MyProject」
  2. プロパティで、[Javaビルドパス]、[ライブラリ]タブに移動し、通常は[Androidの依存関係]で[Android-support-v4.jar]を見つけます。
  3. 次に、[プロジェクト]タブに移動します。追加...そして「ライブラリ」プロジェクトを選択します。
  4. プロパティでAndroid->「ターゲット名」4.x(任意、APIレベル14、15、または16)を確認します。重要:「ライブラリ」プロジェクトと同じである必要があります。下部の「IsLibrary」はチェックを外す必要があり、この場所で「Add ...」を押して、「library」プロジェクトを選択します。Ok and Closeproperties。
  5. 「MyProject」プロジェクトを右クリックAndroidツール->プロジェクトプロパティの修正
  6. メニュープロジェクト->クリーン...で、「MyProject」プロジェクトのクリーンアップを選択します。

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

1
German Tamayo