Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android编程;得到一个小错误_Java_Android - Fatal编程技术网

Java Android编程;得到一个小错误

Java Android编程;得到一个小错误,java,android,Java,Android,我正在开发一个Android应用程序,我正在使用.setAdapter命令,在它下面有一个红色的曲线。Eclipse告诉我这一点。“ViewPager类型中的方法setAdapter(PagerAdapter)不适用于参数(Upperbody.MyPagerAdapter)” 特别是在这里 myPager.setAdapter(adapter); 这是我的密码 package com.example.gymbuddy; import android.app.Activity; impo

我正在开发一个Android应用程序,我正在使用.setAdapter命令,在它下面有一个红色的曲线。Eclipse告诉我这一点。“ViewPager类型中的方法setAdapter(PagerAdapter)不适用于参数(Upperbody.MyPagerAdapter)”

特别是在这里

myPager.setAdapter(adapter); 
这是我的密码

package com.example.gymbuddy; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.os.Parcelable; 
import android.support.v4.view.ViewPager; 
import android.view.LayoutInflater; 
import android.view.View; 

public class Upperbody extends Activity { 

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

   MyPagerAdapter adapter = new MyPagerAdapter(); 
   ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager); 
   myPager.setAdapter(adapter); 
   myPager.setCurrentItem(2); } 

   public class MyPagerAdapter extends Activity { 

    public int getCount() { 
        return 9; 
    } 

    public Object instantiateItem(View collection, int position) { 

        LayoutInflater inflater = (LayoutInflater) collection.getContext() 
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

        int resId = 0; 
        switch (position) { 
        case 0: 
            resId = R.layout.upper0; 
            break; 
        case 1: 
            resId = R.layout.upper1; 
            break; 
        case 2: 
            resId = R.layout.upper2; 
            break; 
        case 3: 
            resId = R.layout.upper3; 
            break; 
        case 4: 
            resId = R.layout.upper4; 
            break; 
        case 5: 
           resId = R.layout.upper5; 
           break; 
        case 6: 
           resId = R.layout.upper6; 
           break; 
        case 7: 
           resId = R.layout.upper7; 
           break; 
        case 8: 
           resId = R.layout.upper8; 
           break; } 

        View view = inflater.inflate(resId, null); 

        ((ViewPager) collection).addView(view, 0); 

        return view; } 

    public void destroyItem(View arg0, int arg1, Object arg2) { 
        ((ViewPager) arg0).removeView((View) arg2); } 

    public boolean isViewFromObject(View arg0, Object arg1) { 
        return arg0 == ((View) arg1); } 

    public Parcelable saveState() { 
        return null; } 

   } 

} 

我认为您的问题很简单,您没有使MyPageAdapter扩展PageAdapter。相反,它是在扩展活动。

您的MyPagerAdapter需要是PagerAdapter的子类,而不是Activity

改变

public class MyPagerAdapter extends Activity { 


MyPagerAdapter
应实施
PagerAdapter
而不是活动


请检查此项。

这意味着
setAdapter
不接受您的参数类型,它是
MyPagerAdapter
类,似乎不扩展
PagerAdapter
。您应该向它传递一个
PagerAdapter
类型。错误消息看起来相当清楚-您的问题是什么?
public class MyPagerAdapter extends PagerAdapter {