user1631100
user1631100

Reputation: 105

The constructor Adapter_PagerAdapter(FragmentManager, List<Fragment>) is undefined

I'm trying to create a simple view pager with pagertitlestrip here are my codes : Adapter_PagerAdapter.java

  package com.kolmajor.adabiyat;

 import java.util.List;

 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentPagerAdapter;

  public class Adapter_PagerAdapter extends FragmentPagerAdapter {


private List<Fragment> fragments;
/**
 * @param fm
 * @param fragments
 */
public Adapter_PagerAdapter(FragmentManager fm, List<Fragment> fragments) {
    super(fm);
     this.fragments = fragments;

}
/* (non-Javadoc)
 * @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
 */
@Override
public Fragment getItem(int position) {
    return this.fragments.get(position);
}

/* (non-Javadoc)
 * @see android.support.v4.view.PagerAdapter#getCount()
 */
@Override
public int getCount() {
    return this.fragments.size();
}
 }

FragmentActivity_Main.java

package com.kolmajor.adabiyat;

 import java.util.ArrayList;
  import java.util.List;
   import java.util.Vector;

   import android.app.Activity;
      import android.app.Fragment;
     import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;

    public class FragmentActivity_Main extends FragmentActivity {


private Adapter_PagerAdapter mPagerAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setContentView(R.layout.activity_main);
    //initialsie the pager
    this.initialisePaging();
}

/**
 * Initialise the fragments to be paged
 */
private void initialisePaging() {

    List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this, Fragment_Writers.class.getName()));
    fragments.add(Fragment.instantiate(this, Fragment_Books.class.getName()));
    this.mPagerAdapter  = new Adapter_PagerAdapter(super.getSupportFragmentManager(), fragments);

    ViewPager pager = (ViewPager)super.findViewById(R.id.viewpager);
    pager.setAdapter(this.mPagerAdapter);
}

}

I don't know why eclipse shows me an error in this line:

this.mPagerAdapter  = new Adapter_PagerAdapter(super.getSupportFragmentManager(), fragments);

Error :

The constructor Adapter_PagerAdapter(FragmentManager, List<Fragment>) is undefined

Someone help me please.....

Upvotes: 0

Views: 1297

Answers (1)

linakis
linakis

Reputation: 1231

It's because in your Adapter_PagerAdapter.java you are using

import android.support.v4.app.Fragment;

but in FragmentActivity_Main.java you are using

import android.app.Fragment;

So what your error message really says is:

The constructor Adapter_PagerAdapter(FragmentManager, List<Fragment>) is undefined

because

Adapter_PagerAdapter(FragmentManager, List<android.support.v4.app.Fragment>) is defined instead

Upvotes: 2

Related Questions