2013-07-11 3 views
0

У меня проблема, и мне кажется, что она только у меня есть. Я реализовал textwatcher, и когда я фильтрую строку в listview, он дважды показывает объект в списке.Список фильтров Textwatcher

Это то, что я делаю

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

да это правда. мне потребовалось время, чтобы узнать, почему так было. но я сделал адаптер, который помог мне решить проблему. – Tirolel

+0

какой адаптер? вы можете поделиться своим кодом .... спасибо – donison24x7

+0

Я постараюсь найти его завтра и разместить его в качестве ответа здесь. – Tirolel

Смежные вопросы