为什么eclipse会突出显示方法?

时间:2012-02-09 15:11:12

标签: android eclipse syntax-highlighting

我正在尝试覆盖onItemClick方法。我将把我的进口和方法放在下面:

import android.app.Activity;
import android.app.ListActivity;
import android.content.ContentUris;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class ListViewActivityActivity extends ListActivity implements OnItemClickListener {

    @Override 
    public void onItemClick(AdapterView adview, View target, int position, long id) {}

}

我的问题是 onItemClick 方法为什么要加下划线?我究竟做错了什么? 我尝试重新加载项目,但没有帮助。有人遇到同样的问题吗?

PS当我将鼠标悬停在它上面时说:ListViewActivityActivity类型的onItemClick方法(AdapterView,View,int,long)必须覆盖超类方法

2 个答案:

答案 0 :(得分:4)

您的项目的Java编译器级别设置为1.5。对于在Java 1.5中实现接口方法的类,不允许@Override注释;这只允许从Java 1.6开始。

进入项目属性(项目的上下文菜单),选择Java Compiler并将编译器合规性级别设置为1.6。

答案 1 :(得分:0)

您使用的是非泛型类型AdapterView,但原始方法使用泛型类型。它是由编译器允许的,但不推荐使用。

这是覆盖onItemClick的正确方法:

@Override 
public void onItemClick(AdapterView<?> adview, View target, int position, long id) {}