package org.aisen.weibo.sina.ui.fragment.search; import android.content.Context; import android.support.v4.content.ContextCompat; import android.text.Spannable; import android.text.style.ForegroundColorSpan; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Filter; import android.widget.TextView; import com.lapism.searchview.adapter.SearchAdapter; import com.lapism.searchview.adapter.SearchItem; import com.lapism.searchview.view.SearchCodes; import java.util.ArrayList; import java.util.List; /** * Created by wangdan on 16/2/25. */ public class SearchsSuggestAdapter extends SearchAdapter { private final List<Integer> mStartList = new ArrayList<>(); private final Context mContext; private final int mTheme; private List<SearchItem> mSearchList = new ArrayList<>(); private List<SearchItem> mDataList = new ArrayList<>(); public SearchsSuggestAdapter(Context context, List<SearchItem> searchList, List<SearchItem> dataList, int theme) { super(context, searchList, dataList, theme); this.mContext = context; this.mSearchList = searchList; this.mDataList = dataList; this.mTheme = theme; } @Override public int getItemViewType(int position) { return position; } @Override public Filter getFilter() { return new Filter() { @Override protected FilterResults performFiltering(CharSequence constraint) { FilterResults filterResults = new FilterResults(); return filterResults; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { } }; } @Override public ResultViewHolder onCreateViewHolder(final ViewGroup parent, int viewType) { final LayoutInflater mInflater = LayoutInflater.from(parent.getContext()); final View sView = mInflater.inflate(com.lapism.searchview.R.layout.search_item, parent, false); return new ResultViewHolder(sView); } @Override public void onBindViewHolder(ResultViewHolder viewHolder, int position) { SearchItem item = mSearchList.get(position); int start = 0; int end = 0; viewHolder.icon_left.setImageResource(item.get_icon()); if (mTheme == SearchCodes.THEME_LIGHT) { viewHolder.icon_left.setColorFilter(ContextCompat.getColor(mContext, com.lapism.searchview.R.color.search_light_icon)); viewHolder.text.setTextColor(ContextCompat.getColor(mContext, com.lapism.searchview.R.color.search_light_text)); viewHolder.text.setText(item.get_text(), TextView.BufferType.SPANNABLE); Spannable s = (Spannable) viewHolder.text.getText(); // s.setSpan(new ForegroundColorSpan(ContextCompat.getColor(mContext, com.lapism.searchview.R.color.search_light_text_highlight)), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } if (mTheme == SearchCodes.THEME_DARK) { viewHolder.icon_left.setColorFilter(ContextCompat.getColor(mContext, com.lapism.searchview.R.color.search_dark_icon)); viewHolder.text.setTextColor(ContextCompat.getColor(mContext, com.lapism.searchview.R.color.search_dark_text)); viewHolder.text.setText(item.get_text(), TextView.BufferType.SPANNABLE); Spannable s = (Spannable) viewHolder.text.getText(); s.setSpan(new ForegroundColorSpan(ContextCompat.getColor(mContext, com.lapism.searchview.R.color.search_dark_text_highlight)), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } } @Override public int getItemCount() { return mSearchList.size(); } public void setSearchList(List<SearchItem> searchList) { this.mSearchList = searchList; notifyDataSetChanged(); } }