0

快速钛合金问题:

我想知道如何在我的控制器中访问 android Menu 的 actionview 中的选择器元素?经典$.(idofelement)好像不行。(我不知道为什么)

<Alloy>
<Window id="window" backgroundColor="#F5F5F5" title="CollegeWorld">
<ActionBar id="actionbar" logo="/icon.png" title="CollegeWorld" />
<Menu id="menu"> <MenuItem id="boardPicker" showAsAction="Ti.Android.SHOW_AS_ACTION_IF_ROOM">

<ActionView>
    <Picker id="picker" opacity="1" selectedRow='2' onChange="changeBoard" zIndex="99999" top="0" right="0" visible="true">
        <PickerColumn id="board">
            <PickerRow title="CIE"/>
            <PickerRow title="Edexcel"/>
        </PickerColumn>

       </Picker>
    </ActionView>

</MenuItem>
</Menu>
</Window>
</Alloy>
4

1 回答 1

1

要更新 MenuItem 的属性(标题、图标...),您可以重新创建 Menu。

就是这样:

var activity = $.window.getActivity();
// Re-create Menu
if(activity){
  activity.onCreateOptionsMenu = function(e){
    var menuItem = e.menu.add({
      title : "New Title",
      visible: true,
      showAsAction : Ti.Android.SHOW_AS_ACTION_ALWAYS
    });
    menuItem.addEventListener('click', alert);
  };
  activity.invalidateOptionsMenu();// This kicks onCreateOptionsMenu
}

您只能在窗口打开时访问它的活动。

于 2015-11-03T05:44:26.940 回答