В Titanium Appcelerator у меня есть проект, который создает tabGroup и окно через функцию.
Ti.App.addEventListener('startCoSelect', function(e) {
// store user name and password globally
// user = e.user;
// pass = e.pass;
tabs.close();
tabs = tms.ui.createCoSelectGroup();
tabs.open();
});
Ti.App.addEventListener('startAppHome', function(e) {
tabs.close();
tabs = tms.ui.createApplicationTabGroup();
tabs.open();
});
var tabs = tms.security.getPermission();
tabs.open();
Внутри этой функции находится кнопка, для этой кнопки назначен прослушиватель событий, который затем вызывает Ti.App.fireEvent ('startCoSelect').
btnLogin.addEventListener("click", function (e) {
Ti.App.fireEvent('startCoSelect');
});
Из этого прослушивателя событий вызывается функция, которая открывает новую группу вкладок и окно, а также закрывает предыдущую группу вкладок, как показано выше. Внутри tabGroup, созданной tms.ui.createCoSelectGroup (), находится другой обработчик событий, который запускает другое событие
btnSelect.addEventListener("click", function (e) {
Ti.App.fireEvent('startAppHome');
});
и еще раз другой прослушиватель событий и вызов fireEvent в функции tms.ui.createApplicationTabGroup ().
Я разрабатываю и тестирую весь код в Titanium Studio с помощью Titanium SDK 1.7, используя непрерывные / ночные сборки как на Mac OS X 10, так и на полностью обновленном Android и iOS SDK.
Моя проблема только в Android. Мобильное приложение работает отлично, как и на iPhone. Однако на Android (тестирование с эмулятором 2.2 API) я могу запустить только одно событие. В качестве примера, приложение для андроида примет первое событие нажатия кнопки «отлично» и запустит событие, но затем не будет запущен следующий вызов fireEvent (активированный следующим нажатием кнопки).
Я знаю, что событие "click" запускается, помещая оповещение внутри каждого прослушивателя событий, и что это должен быть вызов fireEvent.
Я также знаю, что это не имеет никакого отношения к порядку звонков. Если я изменю, какое событие запускается первым, оно всегда будет запускать первое и всегда будет отклонять последующие вызовы fireEvent. Примером является то, что я изменил, какие tabGroup и окно были открыты при запуске и первые нажатия кнопки и fireEvent работают затем после этого, даже несмотря на то, что регистрируются события следующего нажатия, вызов fireEvent - нет.
Трассировка и консоль не дают ответов или кодов ошибок, и у меня остается только кнопка, которая ничего не делает, если я не помещу предупреждение или функцию внутри. Я попытался вызвать функцию Ti.App.fireEvent (), и она не изменилась.
Возможно, я смогу опубликовать код с помощью pastie, но мне нужно удалить важную информацию перед публикацией, так что это может занять день.
Вся помощь приветствуется.