Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CustomerAdapter extends ArrayAdapter<nameModal> {
- Context context;
- int resource, textViewResourceId;
- List<nameModal> items, tempItems, suggestions;
- public CustomerAdapter(Context context, int resource, int textViewResourceId, List<nameModal> items) {
- super(context, resource, textViewResourceId, items);
- this.context = context;
- this.resource = resource;
- this.textViewResourceId = textViewResourceId;
- this.items = items;
- tempItems = new ArrayList<nameModal>(items); // this makes the difference.
- suggestions = new ArrayList<nameModal>();
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- View view = convertView;
- if (convertView == null) {
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- view = inflater.inflate(R.layout.autocompletelistview_test1, parent, false);
- }
- nameModal people = items.get(position);
- if (people != null) {
- TextView lblName = (TextView) view.findViewById(R.id.textview);
- if (lblName != null)
- lblName.setText(people.getName());
- }
- return view;
- }
- @Override
- public Filter getFilter() {
- return nameFilter;
- }
- Filter nameFilter = new Filter() {
- @Override
- public CharSequence convertResultToString(Object resultValue) {
- String str = ((nameModal) resultValue).getName();
- return str;
- }
- @Override
- protected FilterResults performFiltering(CharSequence constraint) {
- if (constraint != null) {
- suggestions.clear();
- for (nameModal people : tempItems) {
- if (people.getName().toLowerCase().contains(constraint.toString().toLowerCase())) {
- suggestions.add(people);
- }
- }
- FilterResults filterResults = new FilterResults();
- filterResults.values = suggestions;
- filterResults.count = suggestions.size();
- return filterResults;
- } else {
- return new FilterResults();
- }
- }
- @Override
- protected void publishResults(CharSequence constraint, FilterResults results) {
- List<nameModal> filterList = (ArrayList<nameModal>) results.values;
- if (results != null && results.count > 0) {
- clear();
- for (nameModal people : filterList) {
- add(people);
- notifyDataSetChanged();
- }
- }
- }
- };
- }
- scanner= new Scanner(getResources().openRawResource(R.raw.names)).useDelimiter("n");
- list=new ArrayList<>();
- mList=getList();
- autolist=(AutoCompleteTextView) findViewById(R.id.list_names);
- adapter=new CustomerAdapter(this,R.layout.activity_main,R.id.textview,mList);
- autolist.setAdapter(adapter);
- autolist.setDropDownBackgroundResource(R.color.autocompletet_background_color);
- private List<nameModal> getList(){
- try{
- while(scanner.hasNextLine()){
- list.add(new nameModal(scanner.next(),1));
- }
- }catch (Exception e){e.printStackTrace();}
- return list;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement