0

我有一个连接到 Simpleadapter 的 android ListView。它根据某些元素的文本内容以及这些元素的一些文本标题和子标题,将特定的静态图像输出为列表视图上的图标。

我还为 edittextview 设置了一个 textwatcher 来过滤和进行自动搜索。

列表视图中的搜索运行正常。但是,我注意到 textwatcher 在列表视图中包含文本内容元素(现在已转换为图像)。因此,它似乎在列表视图中输出了一些不正确的行,因为用户只看到标题/子标题,而不是图像图标后面的文本内容。

有没有更好的过滤列表视图的方法,它会排除图像图标后面的原始文本?

4

1 回答 1

1

这是我最终要做的代码(感谢@Luksprog):

public void afterTextChanged(Editable s) {
    if(s.length()>0){
        int count = viewListAdapter.getCount();
        if(count > 0){
            hashMapListForListViewcopy.clear();
            for (int i = 0; i < count; i++) {
                Map temp = (Map) viewListAdapter.getItem(i);
                String txtOfferName = temp.get("txtOfferName").toString();
                HashMap<String, String> entitiesHashMap;
                entitiesHashMap = new HashMap<String, String>();
                if (txtOfferName.toLowerCase().contains(s.toString().toLowerCase())) {
                    System.out.println("Found a match!");
                    Log.v("txtOfferName", txtOfferName);
                    Log.v("viewListAdapter.getItem(i)","" + viewListAdapter.getItem(i));
                    entitiesHashMap = (HashMap<String, String>) viewListAdapter.getItem(i);
                    hashMapListForListViewcopy.add(entitiesHashMap);
                }
            }
        }   
        viewListAdaptercopy.notifyDataSetChanged();
    }   
于 2012-11-19T23:34:52.733 回答