Titanium освежает TableView с новыми данными - PullRequest
2 голосов
/ 20 июня 2011

Вот что я пытаюсь сделать:

_tableView.data[0].rows[selectedPosY].children[selectedPosX].imageId = tempImageId;     
_tableView.data[0].rows[selectedPosY].children[selectedPosX].image = tempImageUrl;  
Titanium.API.info("imageIdSelected:" + 
_tableView.data[0].rows[selectedPosY].children[selectedPosX].imageId + "imageSelected:" + 
_tableView.data[0].rows[selectedPosY].children[selectedPosX].image); 

Обновление выполняется для данных, но оно не отражается в таблице пользовательского интерфейса, что отсутствует?

Я даже пытался сделать следующее согласно Как я могу обновить мой TableView в титане? & Как решить проблему отображения Titanium TableView? , но это не обновляет таблицу интерфейса _tableView.setData (_tableView.data); win.add (_tableView);

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Оказывается, единственный способ обновить / перезагрузить Titanium.UI.TableView - это получить копию обновленных данных (согласно логике) и сбросить их в TableView, используя 'setData'.Для моего примера, поскольку _tableView.data обновляется (что можно увидеть через операторы регистрации), я мог бы скопировать его с помощью функции копирования массива javascript, например;

var data2 =_tableView.data.slice(0); 
_tableView.setData(data2);

Хотя, с учетом вышеизложенного, я перестроил свой код, поэтому я использую не этот точный код, а похожую логику.Но, в целом, этот способ обновления таблицы не кажется очень привлекательным, если есть лучший способ справиться с этим, пожалуйста, напишите, это очень помогло бы.

0 голосов
/ 20 июня 2011

Почему вы делаете _tableView.data[0].rows, а затем просто _tableView.data при использовании setData?

Ваш _tableView.data должен быть массивом строк / разделов. Ti.UI.tableView объект имеет свойство данных, но данные должны быть структурированы следующим образом.

_tableView.data = [
    {title:"Row 1"},
    {title:"Row 2"}
];

Что .rows выполняет для вас, когда вы делаете это,Кстати, как вы используете .rows?Я не уверен, но я думаю, что _tableView.data либо не отличается, либо недействителен при попытке setData.

...