Droidman
Droidman

Reputation: 11608

android - ViewPager in a Fragment Activity

I havent used Fragments a lot and now I'm having some troubles. I need a ListFragment to be shown when swiping to the right in my MainActivity, so I need something like:

enter image description here enter image description here

What I tried to do:

  public class MainActivity extends FragmentActivity {

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

    PageAdapter mPageAdapter = new PageAdapter(getSupportFragmentManager());
    ViewPager mViewPager = (ViewPager) findViewById(R.id.viewpager);
    mViewPager.setAdapter(mPageAdapter);

}

    }

PageAdapter:

  public class PageAdapter extends FragmentPagerAdapter {

public PageAdapter(FragmentManager fm) {
    super(fm);

}

@Override
public Fragment getItem(int arg0) {
    PageListFrag f = new PageListFrag();
    return f;

}

@Override
public int getCount() {
        return 0;
}
@Override
public CharSequence getPageTitle(int position) {
    return "Title";
}

}

ListFrag:

  public class PageListFrag extends ListFragment {
ArrayAdapter<String> mAdapter;

public PageListFrag() {

}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ArrayList<String> al = new ArrayList<String>();
    mAdapter = new ArrayAdapter<String>(getActivity(),
            R.layout.list_frag_item, al);
    for (int i = 0; i < 20; i++) {
        al.add("Item " + " " + Integer.toString(i));
        mAdapter.notifyDataSetChanged();
    }

    setListAdapter(mAdapter);
}

  }

I only see a blank screen without any possibility to view my ListFragment. What am I doing wrong?

Upvotes: 0

Views: 1079

Answers (2)

Sharjeel
Sharjeel

Reputation: 15798

If you just want to make a sliding menu then the best solution is just use this open source library for Sliding Menu https://github.com/jfeinstein10/SlidingMenu

If you make your own Sliding menu then you will end up in different compatibility issues.

Upvotes: 1

Budius
Budius

Reputation: 39836

change your getCount:

@Override
public int getCount() {
    return 2;
}

if you don't tell the pager there's anything to show it won't show anything.

Upvotes: 1

Related Questions