Skip to content

Commit

Permalink
增加setCurrentIndex方法
Browse files Browse the repository at this point in the history
  • Loading branch information
crazysunj committed Aug 24, 2018
1 parent 451b237 commit 3172376
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 6 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ private void switchCard() {
// 获取当前下标
public int getCurrentIndex();
// 原setCurrentItem请用setCurrentIndex替代
// addOnPageChangeListener和setOnPageChangeListener回调position对应data,但data不能进行增删操作,如果要进行增删,请重新bind
```

Expand All @@ -78,7 +80,7 @@ public class A {
## gradle依赖

```
implementation 'com.crazysunj:cardslideview:1.4.1'
implementation 'com.crazysunj:cardslideview:1.4.2'
同时还需要依赖自己的v4包和cardview包
```

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ ext {
userOrg = 'twsunj'
groupId = 'com.crazysunj'
uploadName = 'CardSlideView'
publishVersion = '1.4.1'
publishVersion = '1.4.2'
desc = 'CardSlideView For Android'
website = 'https://github.com/crazysunj/CardSlideView'
licences = ['Apache-2.0']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,16 +294,60 @@ public int getCurrentIndex() {
return currentItem % size;
}

@Override
public void setCurrentItem(int item) {
public void setCurrentIndex(int index) {
if (!mIsLoop) {
super.setCurrentItem(item);
super.setCurrentItem(index);
return;
}
final CardPagerAdapter adapter = (CardPagerAdapter) getAdapter();
if (adapter == null) {
throw new NullPointerException("adapter is null");
}
super.setCurrentItem(adapter.getLastItem(item));
super.setCurrentItem(adapter.getLastItem(index));
}

public void setCurrentIndex(int index, boolean smoothScroll) {
if (!mIsLoop) {
// smoothScroll为false的时候滑动间隔过多条目会显示异常,暂时先特殊处理,下同
if (smoothScroll) {
super.setCurrentItem(index, true);
} else {
super.setCurrentItem(getPreIndex(index), false);
super.setCurrentItem(index);
}
return;
}
final CardPagerAdapter adapter = (CardPagerAdapter) getAdapter();
if (adapter == null) {
throw new NullPointerException("adapter is null");
}
if (smoothScroll) {
super.setCurrentItem(adapter.getLastItem(index), true);
} else {
super.setCurrentItem(adapter.getLastItem(getPreIndex(index)), false);
super.setCurrentItem(adapter.getLastItem(index));
}
}

private int getPreIndex(int index) {
return index - 1 < 0 ? size - 1 : index - 1;
}

/**
* 请使用{@link #setCurrentIndex(int)}替代
*/
@Deprecated
@Override
public void setCurrentItem(int item) {
super.setCurrentItem(item);
}

/**
* 请使用{@link #setCurrentIndex(int, boolean)}替代
*/
@Deprecated
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
super.setCurrentItem(item, smoothScroll);
}
}

0 comments on commit 3172376

Please sign in to comment.