【问题标题】:Cannot instantiate the type PagerAdapter [closed]无法实例化类型 PagerAdapter [关闭]
【发布时间】:2015-02-08 08:06:09
【问题描述】:

我正在处理片段,pageview 尝试使用水平寻呼机,但出现以下错误:

Cannot instantiate the type PagerAdapter.

我知道PagerAdapter 是一个抽象类,所以我创建了一个继承自PagerAdapter 的新类并改用它。 但没有解决。

这是我的代码:

主要活动导入

import java.util.List;
import java.util.Vector;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
//import com.example.prova.PagerAdapter;
//import android.support.v4.view.PagerAdapter;

尝试创建页面适配器时出现错误的主要活动

public class MainActivity extends ActionBarActivity {

    List<Fragment> fragments = new Vector<Fragment>();
    private ViewPager mPager;
    PagerAdapter mPagerAdapter; 
    //mPager.setCurrentItem(2);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

     // creating fragments and adding to list
        fragments.add(Fragment.instantiate(this,Timeline.class.getName()));
        fragments.add(Fragment.instantiate(this,Postit.class.getName()));
        fragments.add(Fragment.instantiate(this,Frase.class.getName()));
        fragments.add(Fragment.instantiate(this,Impostazioni.class.getName()));

     // creating adapter and linking to view pager
        this.mPagerAdapter=new PagerAdapter(super.getSupportFragmentManager(),fragments); //I GOT HERE THE ERROR
        mPager = (ViewPager) super.findViewById(R.id.pager);
        mPager.setAdapter(this.mPagerAdapter);
    }

这里是我的 PagerAdapter

public abstract class PagerAdapter extends FragmentPagerAdapter {

   // fragments to instantiate in the viewpager
   private List<Fragment> fragments;

   // constructor
   public PagerAdapter(FragmentManager fm,List<Fragment> fragments) {
      super(fm);
      this.fragments = fragments;
   }

   // return access to fragment from position, required override
   @Override
   public Fragment getItem(int position) {
      return this.fragments.get(position);
   }

   // number of fragments in list, required override
   @Override
   public int getCount() {
      return this.fragments.size();
   }

}

【问题讨论】:

  • 你的班级是abstract
  • 天哪,我多么愚蠢!非常感谢

标签: android android-fragments android-pageradapter fragmentstatepageradapter pageviews


【解决方案1】:

您不能创建抽象类的实例。

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 2011-08-14
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2014-12-30
    • 2019-07-26
    • 2013-09-27
    • 2015-04-30
    相关资源
    最近更新 更多