Очистить RecyclerView при нажатии Enter android - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь сделать так, чтобы при нажатии кнопки ввода окно повторного просмотра очищалось от старых данных, а новые данные захватывались, вставлялись и отображались. У меня есть так, что в любое время, когда нажата клавиша ввода, она берет то, что находится в тексте редактирования, и помещает это в переменную, которую затем ищут. Переменная обновляется, но массив, содержащий искомые элементы, не обновляется. Нужно ли очистить этот массив? Я думаю, что для этого мне нужно будет использовать ArrayList вместо обычного массива. Это была бы лучшая идея?

public View.OnKeyListener search = new View.OnKeyListener()
{
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event)
    {
        searchItem = "";

        if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER)
        {
            if(searchItem != searchBar.getText().toString())
            {
                searchItem = searchBar.getText().toString();
                Toast.makeText(imdb_activity.this, "The search is: " + searchItem, Toast.LENGTH_SHORT).show();
                Log.d("Android view component", "Enter button was pressed and the value is: " + searchItem);
            }
            //clear recyclerview?



            goGetSearch();
            return true;
        }
        return false;
    }
};

1 Ответ

0 голосов
/ 25 марта 2020

вам нужно передать обновленный список в recyclerview, я предполагаю, что goGetSearch - это функция, в которой вы передаете параметры в recyclerview, а searchItem - ваш список, поэтому я надеюсь, что вы поняли концепцию и если мое предположение неверно, вы можете отредактировать его так, чтобы оно соответствовало вашему делу.

    public View.OnKeyListener search = new View.OnKeyListener()
     {
   @Override
   public boolean onKey(View v, int keyCode, KeyEvent event)
     {
    searchItem = "";

    if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER)
    {
        if(searchItem != searchBar.getText().toString())
        {
            searchItem = searchBar.getText().toString();
            Toast.makeText(imdb_activity.this, "The search is: " + searchItem, 
           Toast.LENGTH_SHORT).show();
            Log.d("Android view component", "Enter button was pressed and the value 
          is: " + searchItem);
        }
        //clear recyclerview?



        goGetSearch(searchItem);
        return true;
    }
    return false;
}
   };
...