mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Fix SegmentedBar selectedIndex change event when items not bound.
The Android implemantation wasn't raising the event in that case.
This commit is contained in:
@@ -120,10 +120,10 @@ export class SegmentedBar extends view.View implements definition.SegmentedBar {
|
||||
let idx: number;
|
||||
let itemsLength = this.items ? this.items.length : 0;
|
||||
if (types.isNullOrUndefined(index)) {
|
||||
idx = itemsLength;
|
||||
idx = itemsLength - 1;
|
||||
} else {
|
||||
if (index < 0 || index > itemsLength) {
|
||||
idx = itemsLength;
|
||||
idx = itemsLength - 1;
|
||||
} else {
|
||||
idx = index;
|
||||
}
|
||||
|
||||
@@ -60,9 +60,6 @@ function onItemsPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
||||
view.android.setCurrentTab(view.selectedIndex);
|
||||
}
|
||||
|
||||
view.android.setOnTabChangedListener(null);
|
||||
view.android.setOnTabChangedListener(view._listener);
|
||||
|
||||
var tabHost = <android.widget.TabHost>view.android;
|
||||
var tabIndex: number;
|
||||
|
||||
@@ -193,6 +190,12 @@ export class SegmentedBar extends common.SegmentedBar {
|
||||
}));
|
||||
|
||||
this.android.addTab(tab);
|
||||
this.resetNativeListener();
|
||||
}
|
||||
|
||||
private resetNativeListener() {
|
||||
this.android.setOnTabChangedListener(null);
|
||||
this.android.setOnTabChangedListener(this._listener);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user