MiguelCatalan/MaterialSearchView

Bug at setSuggestions method

Open

#50 opened on Jan 15, 2016

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Java (627 forks)batch import
bughelp wanted

Repository metrics

Stars
 (3,821 stars)
PR merge metrics
 (No merged PRs in 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.

Contributor guide