问题描述
- The method xxx of type new xxxx must override 的问题
- The method isViewFromObject(View Object) of type new PagerAdapter(){} must override or implement a supertype method
网上说的方法: 一、
因为你的Compiler 是jdk1.5,只要把它改为 1.6
方法:
1. window ->preferences... -> java -> Compiler
2. Compiler compliance level : 6.0
二、 把项目的JRE变成6.0的
项目右键->build path->configure build path->java Compiler(左边那排中) ->在右边的Compiler compliance level 修改版本为6.0试过了没有作用。
import java.awt.Window;
import java.util.ArrayList;
import java.util.List;import javax.swing.text.View;
import com.csst.videotalk.R;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;import android.view.ViewGroup;
public class ViewPaper_activity extends Activity
{
ViewPager mViewPager;private int[] mImgIds = new int[] { /*R.drawable.guide_image1
R.drawable.guide_image2 R.drawable.guide_image3 */};
private List mImageViews = new ArrayList();
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.view_paper); initData(); mViewPager = (ViewPager) findViewById(R.id.id_viewpager); mViewPager.setAdapter(new PagerAdapter() { @Override public Object instantiateItem(ViewGroup container int position) { container.addView(mImageViews.get(position)); return mImageViews.get(position); } @Override public void destroyItem(ViewGroup container int position Object object) { container.removeView(mImageViews.get(position)); } @Override //就是这里一直报错 public boolean isViewFromObject(View view Object object) { return view == object; } @Override public int getCount() { return mImgIds.length; } }); } private void initData() { for (int imgId : mImgIds) { ImageView imageView = new ImageView(getApplicationContext()); imageView.setScaleType(ScaleType.CENTER_CROP); imageView.setImageResource(imgId); mImageViews.add(imageView); } }
}
解决方案
竟然自己解决了,虽然不知道原因,哈哈哈!!谁能给解释下;
public boolean isViewFromObject(View view Object object)
{
return view == object; } 改成 public boolean isViewFromObject(android.view.View view Object object) { return view == object; }
就可以了,我是先删除原来的override按提示自动添加未重写的方法,系统自动写出来的。
解决方案二:
The method of type must override a superclass method 相关问题
The method execute() of type XXXX must override or implement a supertype method
The method of type must override a superclass method 解决
解决方案三:
制定是jdk版本的问题,要不就是工具的问题,实在不行就把注解删了呗。
解决方案四:
奇怪的是其他几个函数也是override,怎么就不报错,就isViewFromObject这个函数报错,删掉不行,父类的抽象函数必须要重写,删掉一样会报错的。