Пропуск одного элемента в методе сортировки - PullRequest
0 голосов
/ 04 сентября 2018

У меня возникла проблема, в то время как я пытаюсь отсортировать свои переменные в списках сборов, я имею в виду, что у меня есть ArrayList с данными как «WITH PEPERONI, 1» или «CHAMPAGNE, 1,2,» где, 1 , или, 1,2, означает меню переменной, поэтому, когда я нажимаю на Меню 1, я должен видеть только те переменные, которые имели, 1, или, 1,2, или 1,2,3, (где есть 1 ) в их массиве.

И на самом деле то, что я сделал, работает, но только с переменными, которые имеют несколько меню, я имею в виду, если переменная находится в меню 1,2,3,4, и я нажимаю на 2, что будет видно, но если переменная только в одно меню как 1 так, 1, в массиве, который не будет визуализироваться, и я не могу понять, почему.

вот мой код, где я фильтрую переменные и устанавливаю их в новом массиве:

 public void FilterVariable() {

        filteredVariable = new ArrayList<>();

        for (VariantiConstructor varianti : variantiConstructors) {
            String data = varianti.getMenu();
            String[] items = data.split("," + positionMenu + ",");

            try {
                if (items[0].equals(data)) {
                  //
                } else {
                    filteredVariable.add(varianti);
                }
            } catch (Exception e) {
                //
            }


        }

    }

В то время как вот экран, с которого я отлаживал и где был, 2, и он пропустил его вместо добавления в ArrayList:

enter image description here

1 Ответ

0 голосов
/ 04 сентября 2018

Вам необходимо использовать следующий код для закорачивания ArrayList

 ArrayList<String> YOUR_ARRAYLIST = new ArrayList<>();

    private void searchDataFromList(String serachString) {


        ArrayList<String> SEARCH_ARRAYLIST = new ArrayList<>();

        for (int i = 0; i < YOUR_ARRAYLIST.size(); i++) {

            if (serachString.contains(YOUR_ARRAYLIST.get(i))) {
                SEARCH_ARRAYLIST.add(YOUR_ARRAYLIST.get(i));
            }

        }
    }

При прослушивании кликов вам нужно вызвать этот searchDataFromList() метод следующим образом

YOUR_CLICK.setOnClickListener(view -> {

    String searchString ="WITH PEPERONI,1,";
    String YOUR_SEARCH_STRING ="";

    List<String> YOUR_SELECETD_LIST = Arrays.asList(searchString.split(","));
    for (int i = 0; i <YOUR_SELECETD_LIST.size(); i++) {
        if (YOUR_SELECETD_LIST.get(i).length()==1)
        {
            YOUR_SEARCH_STRING = YOUR_SELECETD_LIST.get(i);
            System.out.println("VALUE IS ==>>>>> "+YOUR_SEARCH_STRING);
        }
    }

    if (!YOUR_SEARCH_STRING.isEmpty())
    {
        searchDataFromList(YOUR_SEARCH_STRING);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...