У меня есть приложение, которое имеет 5 окон, и при нажатии на вкладки над ними пропускает окно URL RSS для загрузки. Это сводит с ума, и это собирается заставить меня перейти с Appcelerator на PhoneGap.
Это последний шаг перед прыжком с корабля .......... пожалуйста, скажи мне, что я делаю что-то глупое. Он работает нормально, если немного эмулировать на эмуляторе, но на моем Dell Streak 5 это безумно противоречиво. Иногда рендеринг XML (он всегда возвращается с 4 состояниями готовности), кое-что он просто зависает при вращении индикатора активности. Если я много раз перестраиваюсь без индикатора активности, то в окнах ничего не появляется. Нет ошибок, чтобы говорить об этом, я вижу.
Вот код ошибки. Пожалуйста, скажи мне, что я делаю что-то ужасно неправильное, чтобы сделать меня счастливым.
data = [];
//load RSS Feed
Ti.API.info('>>>> loading RSS feed '+url);
//Show Loading Animation
navActInd.show();
var xhr = Ti.Network.createHTTPClient();
xhr.timeout = 10000;
xhr.open('GET', url);
xhr.onload = function()
{
var xml1 = xhr.responseXML;
var items = xml1.documentElement.getElementsByTagName("item");
//Loop Through XML and Build Rows
for (var i = 0; i < items.length; i++) {
this_post_title = items.item(i).getElementsByTagName("title").item(0).text;
this_post_merchant = items.item(i).getElementsByTagName("category").item(0).text;
post_cid = items.item(i).getElementsByTagName("source").item(0).text;
var row = Ti.UI.createTableViewRow();
var post_title = Ti.UI.createLabel({text: this_post_title});
row.add(post_title);
row.thisSource = post_cid;
row.thisMerchant = this_post_merchant;
data.push(row);
}
navActInd.hide();
var tv = Titanium.UI.createTableView({
data: data,
top: 0,
width: 'auto',
height: 'auto'
});
//Add Table to Window
window.add(tv);
navActInd.hide();