MiguelCatalan/MaterialSearchView

Bug at setSuggestions method

Open

#50 建立於 2016年1月15日

在 GitHub 查看
 (3 留言) (0 反應) (0 負責人)Java (3,821 star) (627 fork)batch import
bughelp wanted

描述

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.

貢獻者指南