0

Android 16 の ActionBarCompat サンプルのコンパイルと実行に問題があります。ビルド ターゲットとして API レベル 16 を選択しましたが、問題なくビルドできるようですが、これらのエラーをデバッグしようとするとポップアップが表示されます。もちろん、マニフェストの最小 API レベルを変更することもできますが、そのポイントは何でしょうか? サンプルに変更を加えていないのに、なぜ正しく動作しないのですか?

Class requires API level 14 (current min is 3): android.view.ActionProvider SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat    line 129    Android Lint Problem

Class requires API level 14 (current min is 3): android.view.ActionProvider SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat    line 134    Android Lint Problem

Class requires API level 14 (current min is 3): android.view.MenuItem.OnActionExpandListener    SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat    line 155    Android Lint Problem

私は完全に混乱しています。

更新: @TargetApi(14) 注釈を追加し、メソッドの 1 つに Lint suppres newApi を追加したところ、問題なく動作しているようです。私はさらに混乱しています。何が起こっているのか、誰かに光を当てることができますか?

4

3 に答える 3

1

マニフェストで を定義android:minSdkVersion="3"しますが、API レベル 14 クラス/メソッドを呼び出しています。

Lint はこれらのタイプの API 呼び出しをチェックし、警告を出します。

明らかにActionBarCompat、現在の API レベルでは、呼び出しを行っても安全であることを確認するためにチェックされます。

警告を削除する@TargetApi(14)には、呼び出しを行うメソッドの前に追加するだけです。

于 2012-10-02T09:37:38.880 に答える
0

プロジェクトのビルド ターゲットを API レベル 14..in (プロジェクト -> プロパティ -> Android) に変更する必要があります。

これらは彼らの要件です:

Ice Cream Sandwich でネイティブ アクション バーとその関連クラスを使用しているため、ライブラリとプロジェクトの両方が Android 4.0 以降でコンパイルされている必要があります。このプロジェクトでは、エディターと使用しているビルド システムの両方で JDK 1.6 を使用してコンパイルすることも必要です。

于 2012-10-02T09:29:01.993 に答える