MiguelCatalan/MaterialSearchView

Bug at setSuggestions method

Open

#50 aberto em 15 de jan. de 2016

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)Java (627 forks)batch import
bughelp wanted

Métricas do repositório

Stars
 (3.821 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

If searchView's setOnItemClickListener is called before setSuggestions(String[] suggestions) is called former listener won't get triggered because setSuggestions(String[] suggestions) has overridden setOnItemClickListener itself.

public void setSuggestions(String[] suggestions) {
    if (suggestions != null && suggestions.length > 0) {
        mTintView.setVisibility(VISIBLE);
        final SearchAdapter adapter = new SearchAdapter(mContext, suggestions, suggestionIcon);
        setAdapter(adapter);

        setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                setQuery((String) adapter.getItem(position), false);
            }
        });
    } else {
        mTintView.setVisibility(GONE);
    }
}

Please check mSuggestionsListView has no onItemClickListener attached before setting new one in the setSuggestions(String[] suggestions) method.

Guia do colaborador