I solved my problem by making a custom adapter extending ArrayAdapter
class and overriding its getFilter()
method. By doing this the list will not be filtered based on any text placed in the TextField and all items will be displayed.
public class MyAdapter extends ArrayAdapter{
public MyAdapter(@NonNull Context context, int resource) {
super(context, resource);
}
public MyAdapter(@NonNull Context context, int resource, int textViewResourceId) {
super(context, resource, textViewResourceId);
}
public MyAdapter(@NonNull Context context, int resource, @NonNull Object[] objects) {
super(context, resource, objects);
}
public MyAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull Object[] objects) {
super(context, resource, textViewResourceId, objects);
}
public MyAdapter(@NonNull Context context, int resource, @NonNull List objects) {
super(context, resource, objects);
}
public MyAdapter(@NonNull Context context, int resource, int textViewResourceId, @NonNull List objects) {
super(context, resource, textViewResourceId, objects);
}
@NonNull
@Override
public Filter getFilter() {
return new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
return null;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
}
};
}
}