Titanium.UI.currentTab.open дублирование окон / окно не закрывается? - PullRequest
1 голос
/ 22 февраля 2011

В настоящее время я разрабатываю приложение для iPhone, используя Appcelerator Titanium, который имеет 3 вкладки в группе вкладок.

Мой app.js можно найти здесь: http://pastie.org/private/zoignwv05l9t6pbrfm01dw

InВ группе вкладок «Поиск компании» я работал над табличным представлением, которое загружает данные с помощью поиска по ключевым словам XHR (я добавил окно поиска с использованием Titanium.UI.createSearchBar с различными обработчиками событий для изменения поиска, отмены поиска),Мы назовем первый уровень представления таблицы результатов поиска уровнем 1.

. Часть поиска работает нормально, и я настроил событие щелчка для представления таблицы, которое работает отлично, открывая новое окно.Мы назовем этот уровень 2.

Проблема заключается в том, что если я нажму кнопку «Назад» на уровне 2 (возвращая меня к результатам первого уровня) и изменим поиск на что-то новое, новый запрос XHR будетсделано, чтобы обновить данные табличного представления.Если затем я щелкну один из этих новых результатов, откроется окно уровня 2, но под ним я вижу дублированное окно уровня 2.Нажатие кнопки «Назад» в новом окне уровня 2 переводит меня в окно иерархии к дублированному окну уровня 2.

Это почти как если бы при нажатии кнопки «Назад» на уровне 2 окно анимировалось вне поля зрения, но неудалены (как я и ожидал).

Надеюсь, это имеет смысл.Трудно описать.

Вот код моей компании-search.js: http://pastie.org/private/jdwiuasivd3zrnhcqbqxw

У меня также есть видео, показывающее проблему: http://www.youtube.com/watch?v=1_1zlXf__UE

Заранее большое спасибо за любые идеи или рекомендации.

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

Я исправил эту проблему.

Вот мой исправленный исходный код: http://pastie.org/private/ycown2e6tracfvdukz29uw

Из того, что я получаю, я, кажется, добавляю табличное представление к текущему окнукаждый раз был вызван первый запрос XHR.

Я переместил код события щелчка строки представления таблицы и код win.add (tableView) за пределы кода события loader.onload и hey-presto, все работает как запланировано!

Надеюсь, что этопомогает кому-то еще.

1 голос
/ 22 февраля 2011

Похоже, проблема опубликована на форумах Appcelerator .В company_search.js попробуйте проверить e.rowData.url в событии click для tableViews по сравнению с e.rowData.url из предыдущего события click.Если это так, не открывайте окно в текущей вкладке.

...