FragmentPagerAdapter使用ViewPagerIndicator无法正常工作

时间:2012-09-11 19:09:19

标签: android viewpagerindicator fragmentpageradapter

我已决定使用ViewPagerIndicator和TitlePageIndicator重新构建我的应用的UI,但我遇到以下问题:

1)不显示每页的碎片。

2)两页之间的滑动不起作用。

我正在使用ActionBarSherlock,就像我使用标签一样。

我没有更改Fragmens中的任何内容,因为当我使用制表符并且我编写了以下代码时它工作得很好:

public class CustomFragmentAdapter extends FragmentPagerAdapter {


    private final String[] TITLES = new String[] { 
            "General",
            "Companies",
            "Discounts"


    };

    public final int NUM_TITLES = TITLES.length;

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

    }

    @Override
    public Fragment getItem(int position) { 

        Log.v("POSITION", "position: "+position);
        switch (position) {
            case 0:
                return new General();
            case 1:
                return new Companies();
            case 2:
                return new Discounts();
        }

        return null;
    }

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

    @Override
    public CharSequence getPageTitle(int position) {
        return TITLES[position % NUM_TITLES].toUpperCase();
    }
}

mViewPager = (ViewPager)findViewById(R.id.pager);

    mViewPager.setAdapter(new CustomFragmentAdapter(getSupportFragmentManager()));

    TitlePageIndicator indicator = (TitlePageIndicator) findViewById(R.id.indicator);

    indicator.setViewPager(mViewPager);
    indicator.setCurrentItem(0);

和我的XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"

>

<com.viewpagerindicator.TitlePageIndicator
    android:id="@+id/indicator"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    />

<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>

正如我所看到的,大多数教程和示例都与我的代码相似,但我仍然无法使其工作。我几乎尝试了一切。当我用一些TextView放置一些虚拟片段时,它也无法正常工作。我也试图删除ViewPagerIndicator并尝试只使用ViewPager,但它对我不起作用。

我可能错过了一些东西,但我找不到它。 非常感谢您的建议。

2 个答案:

答案 0 :(得分:1)

我从类似的活动中看到的一个区别是你没有设置寻呼机的当前项目:

mViewPager.setCurrentItem(0, false);

答案 1 :(得分:0)

我发现在活动布局xml

中缺少android:orientation =“vertical”的问题