Textwatcher过滤列表

时间:2013-07-11 12:45:54

标签: android listview textwatcher

我有一个问题,似乎只有我才有它。我已经实现了textwatcher,当我在listview中过滤一个字符串时,它在列表中显示了两次该对象。

这就是我正在做的事情

filterText = (EditText) findViewById(R.id.EditText01);
filterText.addTextChangedListener(filterTextWatcher);

这是适配器和textwatcher。

        adapter2 = new SimpleAdapter(ListBased.this, ListBasedList,
                R.layout.list_item,new String[] 
                       { TAG_Location_Name, TAG_Address, TAG_Dist, TAG_Postal, TAG_Location_id, TAG_City, TAG_Company_id, TAG_Lat, TAG_Lng}, new int[] {
                        R.id.location_name, R.id.location_adress, R.id.dist, R.id.postal, R.id.location_location_id, R.id.location_city, R.id.location_company_id, R.id.lat, R.id.lng});
                    setListAdapter(adapter2);
    }
}

private TextWatcher filterTextWatcher = new TextWatcher() 
{
    public void afterTextChanged(Editable s) {
         }
    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
    }
    public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        adapter2.getFilter().filter(s);
    }
};

它的工作正常,如打字,但这是一个截图如何显示它。

屏幕截图 here

任何人都可以向我解释这个问题吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我想到了。这是因为你有相同的文字" Sindal"在列表的名称和城市字段中。