Android-студия не может найти параметр - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть приложение для Android, которое использует Firebase, и у меня возникла ошибка с запросом.

В моем файле класса я определяю поиск и получаю:

ошибка: невозможно найти символьную переменную запроса

Вот код из моего файла класса:

public class SearchFragment extends Fragment {

    private static final String TAG = "SearchFragment";
    private static final int NUM_GRID_COLUMNS = 3;
    private static final int GRID_ITEM_MARGIN = 5;

    //widgets
    private ImageView mSearchButton;
    private EditText mTitleET;
    private FrameLayout mFrameLayout;


    //vars
    private String mElasticSearchPassword;
    private String mPrefCity;
    private String mPrefStateProv;
    private String mPrefCountry;
    private ArrayList<Post> mPosts;
    private RecyclerView mRecyclerView;
    private PostListAdapter mAdapter;
    private String queryText;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        //View view = inflater.inflate(R.layout.fragment_search, container, false);
        View view = inflater.inflate(R.layout.fragment_search2, container, false);
        //mFilters = (ImageView) view.findViewById(R.id.ic_search);
        mSearchButton = (ImageView) view.findViewById(R.id.search_button);
        mTitleET = (EditText) view.findViewById(R.id.input_title);
        //mSearchText = (EditText) view.findViewById(R.id.input_search);
        mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
        mFrameLayout = (FrameLayout) view.findViewById(R.id.container);

        return view;
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        final DatabaseReference reference = FirebaseDatabase.getInstance().getReference();


        mSearchButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                Query query = reference.child("posts/").orderByChild("title").equalTo(mTitleET.getText().toString().trim()).
                        query.addListenerForSingleValueEvent(new ValueEventListener()
                {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        if (dataSnapshot.exists()) {
                            // dataSnapshot is the "issue" node with all children with id 0
                            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                                // do something with the individual "issues"
                                Log.i("TAG", ds.getValue().toString());
                            }
                        }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {
                        Log.i("ERRRRRROORRR", databaseError.getMessage() + ", so....let´s take a coffee");

                    }
                });

            }
        });    
    }

    private void setupPostsList(){
        RecyclerViewMargin itemDecorator = new RecyclerViewMargin(GRID_ITEM_MARGIN, NUM_GRID_COLUMNS);
        mRecyclerView.addItemDecoration(itemDecorator);
        GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), NUM_GRID_COLUMNS);
        mRecyclerView.setLayoutManager(gridLayoutManager);
        mAdapter = new PostListAdapter(getActivity(), mPosts);
        mRecyclerView.setAdapter(mAdapter);
    }


}

Проблема заключается именно в следующих строках (см. Прикрепленный рисунок): enter image description here Что является причиной этой ошибки и как ее решить?

1 Ответ

0 голосов
/ 07 ноября 2018

У вас есть лишняя точка (.) после вызова trim() на

Query query = reference.child("posts/").orderByChild("title").equalTo(mTitleET.getText().toString().trim()). // <- this one

что, по-видимому, опечатка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...