android - 片段活动中的ViewPager

时间:2013-02-25 13:43:51

标签: android android-viewpager android-fragmentactivity

我没有经常使用碎片,现在我遇到了一些麻烦。我需要在MainActivity中向右滑动时显示一个ListFragment,所以我需要这样的东西:

enter image description here enter image description here

我试图做的事情:

  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);
}

  }

我只看到一个空白的屏幕,没有任何查看我的ListFragment的可能性。我做错了什么?

2 个答案:

答案 0 :(得分:1)

更改你的getCount:

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

如果您没有告诉寻呼机有任何显示内容,它将不显示任何内容。

答案 1 :(得分:1)

如果您只是想制作一个滑动菜单,那么最好的解决方案就是将此开源库用于滑动菜单https://github.com/jfeinstein10/SlidingMenu

如果您制作自己的滑动菜单,那么最终会遇到不同的兼容性问题。