ViewPager没有显示任何内容

时间:2012-12-05 10:07:49

标签: android android-viewpager

请,建议。我无法让ViewPager工作。这就是我在做的事情:

1)这是我的LinearLayout,我将放置ViewPager。我确信这是有效的。我可以在其中添加任何视图:

<LinearLayout
    android:id="@+id/view_contact_values_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/view_contact_sub_nav"
    android:orientation="vertical"
    android:paddingLeft="10dip" >
</LinearLayout>

2)接下来我在代码中创建ViewPager:

private void createViewPager() {
    ViewPager viewPager = new ViewPager(this);
    DatesPagerAdapter datesPagerAdapter = new DatesPagerAdapter(this);
    viewPager.setAdapter(datesPagerAdapter);
    viewPager.setCurrentItem(1);
    llContainer.addView(viewPager);
}

3)和ViewPagerAdapter(PagerAdapter):

@Override
public Object instantiateItem(ViewGroup container, int position) {
    LayoutInflater inflater = (LayoutInflater) container.getContext()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View v = inflater.inflate(R.layout.dates_carusel_item, null);
    ((ViewPager) container).addView(v, 0);
    return v;
}

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

但是当我打开我的Activity时,我的LinearLayout中没有显示任何内容。 P.S。:对不好的问题造型抱歉。这个编辑器中的代码标签很奇怪。

1 个答案:

答案 0 :(得分:0)

参加一个扩展Fragemnt的课程

class ExampleFragment extends Fragment
{
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.dates_carusel_item, null);
  return v;
}

在PagerAdapter中执行此操作

    private class DatesPagerAdapter extends FragmentPagerAdapter
{
    public DatesPagerAdapter(FragmentManager fm) {
        super(fm);
    }
    @Override
    public Fragment getItem(int arg0) {
        ExampleFragment fragment=new ExampleFragment();
        Bundle bundle=new Bunlde();
        //put bundle data here
        fragment.setArguments(bundle);
        return fragment;
    }
    @Override
    public int getCount() {
        5;
    }
}

无论您想要设置什么视图,都可以在示例片段中执行此操作并添加viewPager

ViewPager pager=new ViewPager(this);
pager.setAdapter(new DatesPagerAdapter);
llContainer.addView(pager)

在xml中添加ViewPager以使其正确排列,否则你可以在运行时调用setLayoutParams,如果它有可见错误

     android:layout_width="match_parent" android:layout_height="wrap_content"      android:orientation="vertical" android:layout_below="@id/view_contact_sub_nav"android:id="+id/view_contact_values_container"
android:paddingLeft="10dip">
<android.support.v4.view.ViewPager
    android:id="@+id/imagesgallery"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
</LinearLayout>