相关疑难解决方法(0)

将项目导入Eclipse后,"必须覆盖超类方法"错误

任何时候我必须将我的项目重新导入Eclipse(如果我重新安装Eclipse,或者更改了项目的位置),几乎所有重写的方法都没有正确格式化,导致错误:

该方法必须覆盖超类方法

值得注意的是,这是Android项目 - 无论出于何种原因,方法参数值并不总是填充,所以我必须自己手动填充它们.例如:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});
Run Code Online (Sandbox Code Playgroud)

最初将填充如下:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我删除我的代码,并让Eclipse自动重新创建方法,它使用我已经拥有的相同参数名称,所以我真的不知道问题在哪里,除此之外它自动格式化方法我.

这需要手动重新创建所有重写的方法,这变得非常痛苦.如果有人能解释为什么会发生这种情况或如何解决它......我会非常高兴.

也许这是由于我格式化方法的方式,这是在另一个方法的参数内?

java eclipse android overriding superclass

1223
推荐指数
11
解决办法
25万
查看次数

什么是Eclipse中的"编译器合规级别"?

有一段时间我试图理解,但我仍然没有得到Eclipse中项目的"编译器合规级别".我查看了这个网站和谷歌,找不到我能理解的答案.

假设我希望我的程序能够在JRE 6上运行.

我可以这样做:Project> Preferences> Java Build Path> Libraries,并将我使用的JRE库设置为JRE 6.

为什么这不够?

我永远不明白为什么我还需要将编译器合规性设置设置为JRE 6.

我想了解在项目中使用JRE 6和将项目的编译器合规性设置设置为JRE 6之间的区别.

编译器合规性级别究竟是什么意思?

java eclipse

41
推荐指数
2
解决办法
4万
查看次数

方法...必须覆盖超类方法(最新的SDK)

可能重复:
为什么我用@Override获得"必须覆盖超类方法"?

我最近在一台新机器上安装了一个新的Eclipse,安装了最新的Android SDK.当我在几个地方带来一个旧项目时,我得到了一个语法错误,关于@Override说"方法suchands这样的类型suchandsuch必须覆盖超类方法".这些项目是通过删除@Override修复的(我认为这是正确的).

我刚刚用我的新设置创建了我的第一个新项目,并且初始未触及的代码正在给出这个让我感到困惑的错误.

package com.geeksonhugs.whenimclose;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.NavUtils;
import android.view.MenuItem;

public class ItemListActivity extends FragmentActivity
        implements ItemListFragment.Callbacks {

    private boolean mTwoPane;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_item_list);

        if (findViewById(R.id.item_detail_container) != null) {
            mTwoPane = true;
            ((ItemListFragment) getSupportFragmentManager()
                    .findFragmentById(R.id.item_list))
                    .setActivateOnItemClick(true);
        }
    }

    @Override
    public void onItemSelected(String id) {
        if (mTwoPane) {
            Bundle arguments = new Bundle();
            arguments.putString(ItemDetailFragment.ARG_ITEM_ID, id);
            ItemDetailFragment fragment = new ItemDetailFragment();
            fragment.setArguments(arguments);
            getSupportFragmentManager().beginTransaction()
                    .replace(R.id.item_detail_container, fragment)
                    .commit();

        } else {
            Intent …
Run Code Online (Sandbox Code Playgroud)

java android

3
推荐指数
1
解决办法
3741
查看次数

ActionBarSherlock有很多错误

这是我第一次使用外部库,我对删除所有错误感到有些紧张.添加库时,我会使用相同的修复程序"删除@Override注释"给出一大堆错误.

解决此问题的方法是将JDK增加到1.6:ActionBarSherlock库在导入后会出现错误

但现在我担心我的其他应用程序......我是否以错误的方式编译它们?另外,我有1.7的JDK可用,我应该使用它而不是1.6吗?对不起,我真的不知道区别.

java android javac

2
推荐指数
1
解决办法
643
查看次数

标签 统计

java ×4

android ×3

eclipse ×2

javac ×1

overriding ×1

superclass ×1