我相信你的問題是,窗口沒有完全由您正試圖設置標題時創建。
我對選項卡組的焦點事件(實際上從選項卡起泡)採取行動,並根據選項卡分配ActionBar標題。
對於內TabGroups爲其他動作,我做了以下幾點:
查看:
<Alloy>
<TabGroup id="tabGroup1">
<Tab id="tab1">
<Window id="window1"></Window>
</Tab>
<Tab id="tab2">
<Window id='window2'></Window>
</Tab>
</TabGroup>
</Alloy>
控制器:
/**
* Listen to focus on the tabgroup and pass the title to the ActionBar
*/
$.tabGroup1.addEventListener('focus', function(){
if(OS_ANDROID && Ti.Platform.Android.API_LEVEL >= 11) {
var tabGroup = $.tabGroup1,
activity = tabGroup.getActivity(),
actionBar;
if(!activity){
Ti.API.error('No activity created for mainTabGroup');
} else {
actionBar = activity.actionBar;
if(!actionBar){
Ti.API.error('No ActionBar created for mainTabGroup activity');
} else {
actionBar.setTitle(tabGroup.activeTab.title);
}
}
}
});
$.mainTabGroup.open();
通過使用TabGroup您正在確保組件的焦點事件在需要修改時可用。
因爲我有一個tabgroup的2選項卡中有2個窗口。我已經測試了2個以上的答案,但他們不適合我。 –
我在我的一個應用程序和$中擁有相同類型的視圖。 .title =「一些標題」工作正常。你的情況究竟發生了什麼?你看到窗口標題欄了嗎?如果在XML中使用,會發生什麼? –
我在android模擬器上測試過,當我從控制器設置時,它是空白的,但我從視圖中設置,它真正顯示爲特定的標題。 –