Added TabViewItem change support for Android. Fixed empty titles for SegmentedBar and TabView.

This commit is contained in:
Rossen Hristov
2015-09-01 09:55:25 +03:00
parent 221fb34102
commit b848d2f02d
5 changed files with 74 additions and 20 deletions

View File

@ -46,10 +46,8 @@ function onItemsPropertyChanged(data: dependencyObservable.PropertyChangeData) {
if (newItems && newItems.length) {
for (var i = 0; i < newItems.length; i++) {
(<SegmentedBarItem>newItems[i])._parent = view;
var title = "" + newItems[i].title;
var tab = view.android.newTabSpec(i + "");
tab.setIndicator(title);
tab.setIndicator(newItems[i].title || "");
tab.setContent(new android.widget.TabHost.TabContentFactory({
createTabContent: function (tag: string): android.view.View {
@ -124,7 +122,7 @@ export class SegmentedBarItem extends common.SegmentedBarItem {
var tabIndex = this._parent.items.indexOf(this);
var titleTextViewId = 16908310; // http://developer.android.com/reference/android/R.id.html#title
var titleTextView = <android.widget.TextView>this._parent.android.getTabWidget().getChildAt(tabIndex).findViewById(titleTextViewId);
titleTextView.setText("" + this.title);
titleTextView.setText(this.title || "");
}
}
}

View File

@ -43,7 +43,7 @@ function onItemsPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var newItems = <Array<definition.SegmentedBarItem>>data.newValue;
if (newItems && newItems.length) {
for (var i = 0; i < newItems.length; i++) {
view.ios.insertSegmentWithTitleAtIndexAnimated(newItems[i].title, i, false);
view.ios.insertSegmentWithTitleAtIndexAnimated(newItems[i].title || "", i, false);
(<SegmentedBarItem>newItems[i])._parent = view;
}
@ -70,7 +70,7 @@ export class SegmentedBarItem extends common.SegmentedBarItem {
public _update() {
if (this._parent) {
var tabIndex = this._parent.items.indexOf(this);
this._parent.ios.setTitleForSegmentAtIndex("" + this.title, tabIndex);
this._parent.ios.setTitleForSegmentAtIndex(this.title || "", tabIndex);
}
}
}