代码之家  ›  专栏  ›  技术社区  ›  ironmantis7x

android studio找不到参数

  •  1
  • ironmantis7x  · 技术社区  · 6 年前

    我有一个使用Firebase的Android应用程序,我有一个查询错误。

    错误:找不到符号变量查询

    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 回复  |  直到 6 年前
        1
  •  1
  •   Onik    6 年前

    你有一个多余的点( . )之后 trim() 拜访

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