Застрял с @SuppressLint ( "NewApi" ) (developer.android.com/training/basics/firstapp/starting-activity)

Я начинаю с Android и в настоящее время застрял с лизингом: http://developer.android.com/training/basics/firstapp/starting-activity.html

В части Создать второе действие, когда я пытаюсь использовать код:

public class DisplayMessageActivity extends Activity {

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_message);

        // Make sure we're running on Honeycomb or higher to use ActionBar APIs
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            // Show the Up button in the action bar.
            getActionBar().setDisplayHomeAsUpEnabled(true);
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Я получаю сообщение об ошибке ниже:

@SuppressLint ( "NewApi" ) → Значение атрибута undefined для типа аннотации SuppressLint.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES. HONEYCOMB) → HONEYCOMB не может быть разрешен или не является полем.

getActionBar() setDisplayHomeAsUpEnabled (истина). → Метод getActionBar() - undefined для типа DisplayMessageActivity.

NavUtils.navigateUpFromSameTask(это); → NavUtils не может быть разрешено.

Кто-нибудь, дайте мне знать, как решить? Вот что я импортировал:

import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;

Большое спасибо!

Ответ 1

Цель сборки не установлена ​​на уровне API 14 или выше. Это не ошибка, пожалуйста, закройте эту проблему.

(В eclipse: Project = > Свойства = > Android)

Ответ 2

SuppressLint добавлена ​​аннотация в API-уровне 16. Вам нужно либо:

  • установите SDK для сборки в 16 или выше или
  • скопируйте tools/support/annotations.jar из Android SDK в проект libs.

Ответ 3

import android.annotation.SuppressLint;

Ответ 4

Я столкнулся с одной и той же проблемой. CTRL-SHIFT-o (организовать импорт) заполнил недостающий импорт для меня.

Ответ 5

Наведите курсор на "SuppressLint", который будет выделен красным цветом. Выберите параметр "Исправить настройку проекта". Из всплывающего списка выберите "добавить архив" annotations.jar. У вас есть счастливый день.

Ответ 6

Он работает, если вы установите строку @SuppressLint("NewApi") над декларацией класса! (В этот урок эта строка помещается внутри onCreate, и это не работает!)

Ответ 7

ctrl + shift + O, чтобы импортировать библиотеки и ctrl + s для сохранения, сделало ошибку для меня.