我使用ViewPagerIndicator庫,所以根據這個庫,我應該設置頁面監聽器到指標上。
mIndicator.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
doYourThing();
}
});
更新@ powder366:
在你的build.gradle文件,添加到庫的依賴
compile 'com.viewpagerindicator:library:[email protected]'
在頂層的build.gradle文件,添加這些:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
mavenCentral()
jcenter()
}
}
您可以將指標添加到您的xml中,如下所示:
<com.viewpagerindicator.CirclePageIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blue"
android:padding="10dip"
app:fillColor="@color/circleindicatorfill"
app:pageColor="@color/circleindicatorempty"
app:strokeWidth="0dp" />
獲取指標如下:
mIndicator = (CirclePageIndicator) findViewById(R.id.indicator);
mViewPager.setAdapter(mFragmentAdapter);
mIndicator.setViewPager(mViewPager);
mIndicator
.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
public void onPageScrollStateChanged(int state) {
}
public void onPageScrolled(int position,
float positionOffset, int positionOffsetPixels) {
}
public void onPageSelected(int position) {
// Check if this is the page you want.
/* currentFav = position;
Log.i("currentFav pos", currentFav + "");*/
}
});
'ViewPager.OnPageChangeListener不,當我滑到一個新page'你能解釋一下你越做了什麼問題工作? – 2014-09-22 18:14:48
當我滑動到viewpager中的其他頁面時,應該有Logs打印currentFav,但我看不到它們。 – 2014-09-22 18:23:47
我想從viewpager中刪除currentFav。 CurrentFav應該是位置的頁碼,這就是爲什麼我要將位置分配給currentFav。但是,當我滑動頁面時,onPageListener不在監聽,我無法獲取位置。你能幫我解決嗎? – 2014-09-22 19:51:31