我有一个带圆圈指示器的视图寻呼机。现在我的应用程序有三个片段。第一个片段显示应用程序徽标,第二个片段显示有关应用程序的一些详细信息,第三个片段显示您已准备好使用该应用程序,然后打开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" />
请帮助为什么在用第二个替换第一个片段后没有显示圆圈指示符?
答案 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);