Кажется, я не могу получить доступ к значениям внутри переопределенного метода (пользовательский слушатель) - PullRequest
0 голосов
/ 01 октября 2018

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

private void getSearch(){
    searchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {
        @Override
        public void onSearchViewShown() {
            Log.d(TAG, "onSearchViewShown: searchview running");
        }

        @Override
        public void onSearchViewClosed() {
            logoRL.setVisibility(View.VISIBLE);

            Log.d(TAG, "onSearchViewClosed: 0000");
        }
    });
    searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {


            Log.d(TAG, "VALUE"+ newText);

            listner.onDataLoaded(newText);

            return true;
        }
    });

Вот класс фрагмента, в котором мне нужно, чтобы текстовые значения были видны.значение данных - это то, что мне нужно использовать.Кроме того, объявление глобальной переменной и последующее присвоение ей этого значения не работает, так как она возвращает значение null, я думаю, это потому, что переопределенный метод каким-то образом вызывается до того, как это делает oncreatview фрагмента, но я не уверен.любая помощь будет в значительной степени оценена, я был на этом в течение прошлых 4 дней, я действительно отчаялся

  @Override
public void onSearchViewSelected(String newText) {

}

@Override
public void onDataLoaded(String data) {
    Log.d(TAG, "query" + data);

}

1 Ответ

0 голосов
/ 01 октября 2018

Я решил проблему, выполнив все наоборот, получив метод, а не наоборот, и все заработало

...