Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. public class CustomerAdapter extends ArrayAdapter<nameModal> {
  2. Context context;
  3. int resource, textViewResourceId;
  4. List<nameModal> items, tempItems, suggestions;
  5.  
  6. public CustomerAdapter(Context context, int resource, int textViewResourceId, List<nameModal> items) {
  7. super(context, resource, textViewResourceId, items);
  8. this.context = context;
  9. this.resource = resource;
  10. this.textViewResourceId = textViewResourceId;
  11. this.items = items;
  12. tempItems = new ArrayList<nameModal>(items); // this makes the difference.
  13. suggestions = new ArrayList<nameModal>();
  14. }
  15.  
  16.  
  17. @Override
  18. public View getView(int position, View convertView, ViewGroup parent) {
  19. View view = convertView;
  20. if (convertView == null) {
  21. LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  22. view = inflater.inflate(R.layout.autocompletelistview_test1, parent, false);
  23. }
  24. nameModal people = items.get(position);
  25. if (people != null) {
  26. TextView lblName = (TextView) view.findViewById(R.id.textview);
  27. if (lblName != null)
  28. lblName.setText(people.getName());
  29. }
  30. return view;
  31. }
  32.  
  33. @Override
  34. public Filter getFilter() {
  35. return nameFilter;
  36. }
  37. Filter nameFilter = new Filter() {
  38. @Override
  39. public CharSequence convertResultToString(Object resultValue) {
  40. String str = ((nameModal) resultValue).getName();
  41. return str;
  42. }
  43.  
  44. @Override
  45. protected FilterResults performFiltering(CharSequence constraint) {
  46. if (constraint != null) {
  47. suggestions.clear();
  48. for (nameModal people : tempItems) {
  49. if (people.getName().toLowerCase().contains(constraint.toString().toLowerCase())) {
  50. suggestions.add(people);
  51. }
  52. }
  53. FilterResults filterResults = new FilterResults();
  54. filterResults.values = suggestions;
  55. filterResults.count = suggestions.size();
  56. return filterResults;
  57. } else {
  58. return new FilterResults();
  59. }
  60. }
  61.  
  62. @Override
  63. protected void publishResults(CharSequence constraint, FilterResults results) {
  64. List<nameModal> filterList = (ArrayList<nameModal>) results.values;
  65. if (results != null && results.count > 0) {
  66. clear();
  67. for (nameModal people : filterList) {
  68. add(people);
  69. notifyDataSetChanged();
  70. }
  71. }
  72. }
  73. };
  74. }
  75.  
  76. scanner= new Scanner(getResources().openRawResource(R.raw.names)).useDelimiter("n");
  77. list=new ArrayList<>();
  78.  
  79. mList=getList();
  80.  
  81. autolist=(AutoCompleteTextView) findViewById(R.id.list_names);
  82. adapter=new CustomerAdapter(this,R.layout.activity_main,R.id.textview,mList);
  83. autolist.setAdapter(adapter);
  84. autolist.setDropDownBackgroundResource(R.color.autocompletet_background_color);
  85.  
  86. private List<nameModal> getList(){
  87. try{
  88. while(scanner.hasNextLine()){
  89. list.add(new nameModal(scanner.next(),1));
  90. }
  91. }catch (Exception e){e.printStackTrace();}
  92. return list;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement