suppresslint无法解析为类型错误(android初学者在线教程)



在下面的代码中,我得到一个问题,当遵循Android初学者教程在http://developer.android.com/training/basics/firstapp/starting-activity.html#StartActivity

Eclipse说:supressLint不能解析为在@SuppressLint("NewApi")行旁边有一个小x的类型错误。

我无法保存并运行应用程序。

package com.example.myfirstapp;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import android.annotation.TargetApi;
import android.os.Build;
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);
    }
}

试试这个:

import android.annotation.SuppressLint;

问题是您需要组织导入。这通常是导致"无法解析为类型"错误的原因。你还没有导入包含SuppressLint定义的代码包,所以编译器还不知道它是什么意思。

在Eclipse中,组织导入的一种快速方法是Windows上的Ctrl+Shift+O或Mac上的Cmd+Shift+O。这会自动检查您需要的包并将它们添加到您的导入语句中。

要使用@SuppressLint,你需要确保你有android.annotation.SuppressLint包

虽然OP的问题是针对Eclipse的,但我在Android Studio上遇到了类似的问题,问题是由于' CSV插件';

卸载这个插件,解决了我的问题。(可能是有用的那些谁有类似的情况下,正在登陆这个问题,因为这个插件的问题)

我认为这对你有帮助,因为在API级别16中添加了suppresslint注释

  • 将构建SDK设置为16或更高

  • 将tools/support/annotations.jar从Android SDK复制到项目中

试试这个。