安卓setCurrentItem无法重写
时间: 2023-11-26 22:05:49 浏览: 41
在 Android 中,ViewPager 的 setCurrentItem() 方法是一个 final 方法,无法被子类重写。如果你需要更改 setCurrentItem() 的行为,可以考虑继承 ViewPager 并重写 setCurrentItemInternal() 方法,然后在自定义的 ViewPager 中调用该方法。
示例代码:
```java
public class CustomViewPager extends ViewPager {
// 构造方法
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
// 重写 setCurrentItemInternal() 方法
@Override
void setCurrentItemInternal(int item, boolean smoothScroll, boolean always) {
// 在这里添加自己的逻辑
super.setCurrentItemInternal(item, smoothScroll, always);
}
}
```
在这个自定义的 ViewPager 中,我们重写了 setCurrentItemInternal() 方法,并在其中添加了自己的逻辑。然后在使用时,可以像使用普通的 ViewPager 一样使用 CustomViewPager。
```xml
<com.example.CustomViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
```
阅读全文