setAdapter(适配器);?

时间:2012-10-26 22:32:38

标签: android android-viewpager

大家好我正在设置一个ViewPager,但我一直在使用Set Adapter收到错误。此代码链接到PagerAdapter。任何人都可以帮忙吗?

package com.test.viewpager;

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;
import android.widget.Toast;

public class  PagerAdapter extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

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

这是我需要运行的mypageradapter

 package com.test.viewpager;


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


   class MyPagerAdapter extends PagerAdapter { 

public int getCount() {        
    return 5;      
    }     
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.page1;         
    break;         
    case 1:                resId = R.layout.page2;           
    break;       
    case 2:                resId = R.layout.page3;     
    break;        
    case 3:                resId = R.layout.page4;          
    break;       
    case 4:                resId = R.layout.page5;   
    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;        }}  

这是使用

的主要xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager    
    android:layout_width="match_parent"   
     android:layout_height="match_parent"   
      android:id="@+id/myfivepanelpager"/>

</LinearLayout> 

2 个答案:

答案 0 :(得分:1)

您将活动类命名为PagerAdapter,这也是android.support.v4.view.PagerAdapter的名称。

以其他方式命名,你会发现真正的错误,你在MyPagerAdapter.java中忘了import android.support.v4.view.PagerAdapter;

答案 1 :(得分:-2)

如果您发布了一些有关您正在获取的错误的信息,例如LogCat或堆栈跟踪甚至错误消息,这也会有所帮助。

即使出现了一些错误,但我们在没有所有信息的情况下猜测您的问题也是错误的。您可能遇到与您的代码无关的问题。