用片段替换片段时不显示圆指示符

时间:2016-05-27 12:35:42

标签: android android-fragments android-viewpager

我有一个带圆圈指示器的视图寻呼机。现在我的应用程序有三个片段。第一个片段显示应用程序徽标,第二个片段显示有关应用程序的一些详细信息,第三个片段显示您已准备好使用该应用程序,然后打开MainActivity。 现在我之前的问题是我无法替换片段,因为我想显示第一个片段5秒然后显示下一个片段。现在这个问题解决了:`

private static int startPage = 5000;

new Handler().postDelayed(new Runnable() {          
            public void run() {    
                Fragment nextFrag= new LayoutTwo();
                getActivity().getSupportFragmentManager().beginTransaction()
                .replace(R.id.fragment_container, nextFrag)
                .addToBackStack(null)
                .commit();
                }
            },     
        startPage);

此代码将用第二个片段替换第二个片段,但问题是当第二个片段显示时,圆形指示符未显示在其中,尽管它在替换片段之前有效。 我的viewpager的xml代码是:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#E3564C"
android:id="@+id/fragment_container"
android:orientation="vertical" >

<android.support.v4.view.ViewPager
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:id="@+id/viewPager" />

请帮助为什么在用第二个替换第一个片段后没有显示圆圈指示符?

1 个答案:

答案 0 :(得分:0)

摇篮

dependencies {
      compile 'me.relex:circleindicator:1.2.2@aar'
}

用法

 <?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="#E3564C"
 android:id="@+id/fragment_container"
 android:orientation="vertical" >

    <android.support.v4.view.ViewPager
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:id="@+id/viewPager" />

    <me.relex.circleindicator.CircleIndicator
    android:id="@+id/indicator"
    android:layout_width="match_parent"
    android:layout_height="48dp"/>
 </FrameLayout>

在主要活动中添加以下代码

主要活动

ViewPager viewpager = (ViewPager) view.findViewById(R.id.viewpager);
CircleIndicator indicator = (CircleIndicator) view.findViewById(R.id.indicator);
viewpager.setAdapter(mPageAdapter);
indicator.setViewPager(viewpager);