私はちょうどhttp://developer.android.com/training/basics/firstapp/starting-activity.htmlチュートリアルに従って、Android 開発を始めたところです。どちらも「Android アクティビティ」作成ウィザードを使用して作成されたクラス:
public class PlacesActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
// I manually commented out the following line to get it to compile.
// getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}
と
public class ShowOnePlace extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_one_place);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}
Eclipseは私に次のエラーを与え続けました:
呼び出しには API レベル 11 が必要です (現在の最小値は 8): android.app.Activity#getActionBar
呼び出しには API レベル 11 が必要です (現在の最小値は 8): android.app.ActionBar#setDisplayHomeAsUpEnabled
行の1つをコメントアウトするまで(上記のように)。これで、アプリケーションはエラーなしで Android デバイス上でコンパイルおよび実行されるようになりました。(まあ、少なくともそのエラーなしで)。
そう:
getActionBar().setDisplayHomeAsUpEnabled(true);
あるクラスでそのエラーが発生するのに、他のクラスではまったく同じ行がエラーではなく、警告でさえないのはなぜですか?- 「Android アクティビティ」作成ウィザードにバグがあり
getActionBar().setDisplayHomeAsUpEnabled(true);
ますか? あるアクティビティではそのステートメントが間違っていますが、他のアクティビティでは完全に問題ありませんか? - Eclipse Lint にバグがあり、そのステートメントは実際には両方のアクティビティで問題ない (または両方のアクティビティで間違っている) のでしょうか?
- minSdkVersion="8" を minSdkVersion="11" に変更せずにこれを修正するにはどうすればよいですか? 「android-support-v4.jar」ファイルは、バージョン 8 デバイスで実行され、バージョン 11 デバイスでネイティブに処理されるものを処理する互換性ライブラリであるという印象を受けました。
- このエラーが表示された場合、本当に正しいことは何ですか?