package com.weikou.beibeivideo.ui.video;
|
|
import android.content.Context;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.Filter;
|
import android.widget.Filterable;
|
import android.widget.TextView;
|
|
import com.weikou.beibeivideo.R;
|
|
import java.util.List;
|
|
public class SuggestKeysAdapter extends BaseAdapter implements Filterable {
|
private ArrayFilter mFilter;
|
private List<String> keys;
|
private LayoutInflater layoutInflater;
|
|
|
public SuggestKeysAdapter(Context context, List<String> keys) {
|
this.keys = keys;
|
layoutInflater = LayoutInflater.from(context);
|
}
|
|
@Override
|
public int getCount() {
|
return keys.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return keys.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
View view = layoutInflater.inflate(R.layout.item_search_result_sugguest, null);
|
TextView tv_content = view.findViewById(R.id.tv_content);
|
View view_cutLine = view.findViewById(R.id.view_cutline);
|
tv_content.setText(keys.get(position));
|
|
if (position == keys.size() - 1) {
|
view_cutLine.setVisibility(View.GONE);
|
} else {
|
view_cutLine.setVisibility(View.VISIBLE);
|
}
|
return view;
|
}
|
|
@Override
|
public Filter getFilter() {
|
if (mFilter == null) {
|
mFilter = new ArrayFilter();
|
}
|
return mFilter;
|
}
|
|
|
private class ArrayFilter extends Filter {
|
|
@Override
|
protected FilterResults performFiltering(CharSequence prefix) {
|
FilterResults results = new FilterResults();
|
results.values = keys;
|
results.count = keys.size();
|
return results;
|
}
|
|
@Override
|
protected void publishResults(CharSequence constraint,
|
FilterResults results) {
|
if (keys.size() > 0) {
|
notifyDataSetChanged();
|
} else {
|
notifyDataSetInvalidated();
|
}
|
}
|
|
}
|
|
|
}
|