Данные исчезли после щелчка назад поискового просмотра на макете просмотра карты - PullRequest
0 голосов
/ 03 мая 2019

Я реализовал поисковое представление для фильтрации данных, полученных от API, данные отображаются эффективно перед поиском в поисковом запросе, первая проблема, я не получаю никаких данных после отправки текста для фильтрации, во-вторых, когда я нажимаю назадв поисковом запросе данные, которые у меня были ранее в макете просмотра карт, пропали.

Реализация фильтра для поискового просмотра

{
public Filter getFilter() {

        return myplan;
    }
    Filter myplan  = new Filter() {

        @Override
        protected FilterResults performFiltering(CharSequence constraint) {

            ArrayList<modelclass> array = new ArrayList<>();

            if(constraint == null || constraint.length() == 0)
            {
                array.addAll(arrayListfull);

            }else {

                String pattern = array.toString().toLowerCase().trim();

                for (modelclass myclass : array){

                    if(myclass.getPlayer().toLowerCase().contains(pattern)){

                        array.add(myclass);
                    }
                }
            }

            FilterResults filterResults = new FilterResults();

            filterResults.values  = array;

            return filterResults;
        }

        @Override
        protected void publishResults(CharSequence constraint, FilterResults results) {
            arrayListi.clear();

            arrayListi =(ArrayList<modelclass>) results.values;

            notifyDataSetChanged();


        }
    };


}

{

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater menuInflater = getMenuInflater();

        menuInflater.inflate(R.menu.menumenu,menu);

        MenuItem item  = menu.findItem(R.id.search);

        SearchView  searchView = (SearchView)item.getActionView();

        searchView.setQueryHint("Search...");

        searchView.setOnQueryTextListener(new 

SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {

return false;

            }

            @Override

            public boolean onQueryTextChange(String newText) {

                adapter.getFilter().filter(newText);

                return true;
            }
        });

        return true;
    }
}
...