fix(tabs-android): wrong tabStripItem selected (#7522)

This commit is contained in:
Alexander Djenkov
2019-07-16 10:18:01 +03:00
committed by GitHub
parent 16924f4112
commit ca22ba9391
2 changed files with 11 additions and 11 deletions

View File

@ -383,7 +383,11 @@ public class TabLayout extends HorizontalScrollView {
}
int prevPosition = mTabStrip.getSelectedPosition();
onSelectedPositionChange(position, prevPosition);
if (prevPosition != position) {
onSelectedPositionChange(position, prevPosition);
}
mTabStrip.onViewPagerPageChanged(position, positionOffset);
View selectedTitle = mTabStrip.getChildAt(position);

View File

@ -248,18 +248,14 @@ function initializeNativeClasses() {
return;
}
if (position !== prevPosition) {
const tabStripItems = owner.tabStrip && owner.tabStrip.items;
const tabStripItems = owner.tabStrip && owner.tabStrip.items;
if (position >= 0 && tabStripItems && tabStripItems[position]) {
tabStripItems[position]._emit(TabStripItem.selectEvent);
}
if (position >= 0 && tabStripItems && tabStripItems[position]) {
tabStripItems[position]._emit(TabStripItem.selectEvent);
}
if (prevPosition >= 0 && tabStripItems && tabStripItems[prevPosition]) {
tabStripItems[prevPosition]._emit(TabStripItem.unselectEvent);
}
owner.selectedIndex = position;
if (prevPosition >= 0 && tabStripItems && tabStripItems[prevPosition]) {
tabStripItems[prevPosition]._emit(TabStripItem.unselectEvent);
}
}