Я создал таблицу, которая заполняется удаленными данными. Я получаю эти данные с помощью PHP-скрипта, который создает XML. XML выглядит примерно так:
<kalender>
<afhaaldag>
<datum>Monday 30 January 2012</datum>
<afval>GFT</afval>
<afval>PMD</afval>
<afval>Restafval</afval>
</afhaaldag>
<afhaaldag>
<datum>Monday 06 February 2012</datum>
<afval>GFT</afval>
<afval>Snoeiresten</afval>
</afhaaldag>
</kalender>
Мне удалось получить всю информацию в правильном положении. У каждого 'afhaaldag есть одна строка в моей таблице, и у каждого тега внутри есть метка. Это выглядит примерно так:
Monday 30 January 2012
GFT
Snoeiresten
Restafval
Monday 06 February 2012
GFT
Snoeiresten
Я добавляю несколько меток для 'afval' с помощью этого цикла:
var allAfval = item.getElementsByTagName('afval');
var subView = Ti.UI.createView({bottom:10});
for(var j = 0; j<allAfval.length; j++)
{
var afval = allAfval.item(j).text;
var subLabel = Titanium.UI.createLabel({
text:afval,
color:'black',
left:15,
top:topPosition+20
});
topPosition +=20;
subView.add(subLabel);
subLabel.catId = afval;
dataLabels.push(subLabel);
}
row.add(subView);
table.appendRow(row);
Теперь я хочу разрешить пользователю фильтровать метки, но, поскольку у меня есть несколько меток в одной строке, я не могу использовать свое предыдущее решение (которое работало нормально, пока я не добавил больше меток afval). Для фильтрации я использую средство выбора с этим eventListener:
picker.addEventListener('change', function(e)
{
var filteredLabels = [];
for(var k=0; k<dataLabels.length; k++)
{
if(e.row.id == 'alles')
{
filteredLabels = dataLabels;
}
else if(dataLabels[k].catId == e.row.id)
{
filteredLabels[filteredLabels.length] = dataLabels[k];
}
table.setData(filteredLabels);
}
});
Проблема в том, что мой массив dataLabels по какой-то причине не заполнен. Когда я делаю предупреждение в конце (прямо перед тем, как закрыть свою функцию), я получаю странное сообщение об ошибке (которое не дает мне никакой информации):
[Ljava.lang.Object; @ 43f0e008
Может кто-нибудь, пожалуйста, помогите мне, я действительно застрял с этим.