Как я могу начать поиск совпадений в представлении Recycler после ввода строки для поиска в моем EditText - PullRequest
0 голосов
/ 17 мая 2019

У меня есть RecyclerView с EditText для поиска совпадений, заполненных данными из базы данных Firebase. Когда я сам набираю какое-то слово в EditText, все работает нормально, но если я пытаюсь intent слово для поиска из другого действия в этом EditText, ничего не работает. Для того, чтобы поиск работал после этого, мне нужно изменить какую-то букву в намеренном слове.

Это мой код в OnCreate:

if(getIntent().getExtras() != null) {

   Intent intent = getIntent();
    String str = intent.getStringExtra("trickname");
    editSearch.setText(str);

}


editSearch.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        search(s.toString());
    }
});

И способ поиска:

private void search(String str){
    ArrayList<Trick> myList = new ArrayList<>();
    for(Trick object : list){
        if((object.getDescription().toLowerCase().contains(str.toLowerCase().trim())) || (object.getName().toLowerCase().contains(str.toLowerCase().trim()))){
            myList.add(object);
        }
    }
    AdapterClass adapterClass = new AdapterClass(myList);
    recyclerView.setAdapter(adapterClass);
}

Намерение от другой деятельности:

Intent intent1 = new Intent(ProgressActivity.this, EncyActivity.class);
intent1.putExtra("trickname", button1.getText().toString());
startActivity(intent1);

Слово в EditText предназначено, но поиск не работает. Если я сам набираю это слово, поиск работает и находит совпадения

1 Ответ

0 голосов
/ 17 мая 2019

просто позвоните search(str); после editSearch.setText(str);

...