MiguelCatalan/MaterialSearchView

Bug at setSuggestions method

Open

#50 aperta il 15 gen 2016

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Java (627 fork)batch import
bughelp wanted

Metriche repository

Star
 (3821 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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.

Guida contributor