我没有经常使用碎片,现在我遇到了一些麻烦。我需要在MainActivity中向右滑动时显示一个ListFragment,所以我需要这样的东西:
我试图做的事情:
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的可能性。我做错了什么?
答案 0 :(得分:1)
更改你的getCount:
@Override
public int getCount() {
return 2;
}
如果您没有告诉寻呼机有任何显示内容,它将不显示任何内容。
答案 1 :(得分:1)
如果您只是想制作一个滑动菜单,那么最好的解决方案就是将此开源库用于滑动菜单https://github.com/jfeinstein10/SlidingMenu
如果您制作自己的滑动菜单,那么最终会遇到不同的兼容性问题。