【问题标题】:Firebase Particular dataFirebase 特定数据
【发布时间】:2017-03-05 21:01:13
【问题描述】:

我是 firebase 的新手,并试图根据电子邮件 ID 向回收站视图显示数据,但回收站视图正在显示它的行。这是我的 onCreate 方法。

 mDatabase= FirebaseDatabase.getInstance().getReference().child("user_project_status");
    //mDatabase.child(email);
    mDatabase.keepSynced(true);
    projects_token=(RecyclerView)findViewById(R.id.selected_projects);

    projects_token.setHasFixedSize(true);
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
    linearLayoutManager.setReverseLayout(true);
    linearLayoutManager.setStackFromEnd(true);
    projects_token.setLayoutManager(linearLayoutManager);
    FirebaseRecyclerAdapter<Status_getter,StatusViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Status_getter, StatusViewHolder>(Status_getter.class,R.layout.status_row,StatusViewHolder.class,mDatabase) {

        @Override
        protected void populateViewHolder(StatusViewHolder viewHolder, Status_getter model, int position) {
            final String post_key=getRef(position).getKey();
            if(model.getEmail().equals(email)) {
                viewHolder.setProject_name(model.getProject_name());
                viewHolder.setToken_no(model.getToken_no());

            }

            viewHolder.mView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    Intent i=new Intent(Status.this,Selected_Status.class);
                    i.putExtra("status_id",post_key);
                    startActivity(i);
                }
            });
        }

    };


    projects_token.setAdapter(firebaseRecyclerAdapter);

这是我设置数据的 status_getter 类。它被称为模型名称

 String token_no,email,progress_dialog,progress_message,project_name,project_description,software_type;

    public String getToken_no() {
        return token_no;
    }


    public String getProject_name() {
        return project_name;
    }


    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

我创建了一个 xml 行,即“Status_row”,它创建了一个自定义 Recyclerview。

存储在我的数据库中的值是这样的。 如果我添加数据快照,我应该有一个数据键值。请添加一些带有答案的示例代码,因为我只是这方面的初学者 1

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    我认为你应该只传递mDatabase 而不是mDatabase.equalTo("email",email) 作为FirebaseRecyclerAdapter 匿名类构造函数的第四个参数。

    如果要获取email 节点下的数据,则可以将mDatabase.child("email") 作为FirebaseRecyclerAdapter 匿名类构造函数的第四个参数传递。

    EG:

        FirebaseRecyclerAdapter<Status_getter,StatusViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Status_getter, StatusViewHolder>(Status_getter.class,R.layout.status_row,StatusViewHolder.class,mDatabase.child("email")) {
    ...
    

    【讨论】:

      猜你喜欢
      • 2017-01-19
      • 1970-01-01
      • 2017-11-10
      • 2019-07-03
      • 2018-07-05
      • 2018-12-09
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多