Ti Alloy,SearchView不过滤TableView for Android

时间:2014-12-02 19:20:45

标签: android titanium appcelerator titanium-alloy

我在Android上遇到问题,试图让SearchView过滤我TableView的结果。对于iOS,我使用Ti.UI.SearchBar,过滤工作正常。在Android上我使用的是Ti.UI.Android.SearchView,当我开始输入时,结果似乎没有过滤。


我的TableViewSearchView的XML是

<TableView id="slideList">
    <SearchView ns="Ti.UI.Android" id="searchBar" iconifiedByDefault="false" />
</TableView>

在我的控制器中,我通过循环生成TableView数据并创建一个小部件,它只是一个TableViewRow,带有一些自定义道具(特别是一个名为searchFilter的道具)。

function parseData(slides)
{
  for (i = 0; i < slides.length; i++)
  {
    var row = Alloy.createWidget('com.dop.vforummobile.sliderow');
    row.init(slides[i], i);
    $.slideList.appendRow(row.getView());
  }
  $.slideList.search = $.searchBar; //-- Tie the SearchView to the TableView
  $.slideList.filterAttribute = 'searchFilter'; //-- searchFilter prop on my widget
}

我的窗口小部件(这表示我在行上设置了searchFilter属性):

var init = function(data, index)
{
  $.title.text = (index + 1) + '. '  + data.title;
  $.slideRow.startTime = data.startTime;
  $.slideRow.searchFilter = data.title + ' ' + data.slideText;
};
exports.init = init;

我已确认data.titledata.slideText确实包含文字。

0 个答案:

没有答案