I work with fragments and pageviewtrying to use a horizontal pager, and I got the following error:
Cannot instantiate the type PagerAdapter.
I know what PagerAdapteran abstract class is, so I created a new class that inherits from PagerAdapterand used this instead. But this is not a fix.
what is my code:
import of core activity
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;
The main activity where I have an error when I try to create a pageradapter
public class MainActivity extends ActionBarActivity {
List<Fragment> fragments = new Vector<Fragment>();
private ViewPager mPager;
PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
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()));
this.mPagerAdapter=new PagerAdapter(super.getSupportFragmentManager(),fragments);
mPager = (ViewPager) super.findViewById(R.id.pager);
mPager.setAdapter(this.mPagerAdapter);
}
And here is my PagerAdapter
public abstract class PagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public PagerAdapter(FragmentManager fm,List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
}
source
share