繁体   English   中英

从 firebase 数据库中检索 ratingbar 数据以显示在帖子中

Retrieve ratingbar data from firebase database to display in a post

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在检索 firebase 数据库数据时遇到了几个问题:

  1. 我正在尝试检索 ratingbar 数据并将其显示为 recyclerview 中的评论帖子。 将所有数据发送到数据库没有问题,但检索评级栏会返回一个空的评级栏星。

  2. 我的文本也不会显示为用户输入的文本,它以空格返回,auth.getUid() 返回键值(类似于:HUIDBUWFjnzipqE68HFJBF),而不是用户名。

  3. 我的评论图片也是空白的。

可能是什么问题? 我似乎找不到解决方案。 帮助表示赞赏!

代码片段:写评论活动:Review newReview = new Review(uid, author, categories, location, district, businessName, reviewData, addressData, starsData, sd);

    Map<String, Object> reviewValues = newReview.toMap();
    Map<String, Object> childUpdates = new HashMap<>();
    childUpdates.put("/reviews/" + key, reviewValues);
    childUpdates.put("/user-reviews/" + author + "/" + key, reviewValues);
    reference.updateChildren(childUpdates);
    reference.keepSynced(true);

    reviewImage.setImageResource(R.drawable.ic_photo);

审查意见持有人:

  public void bindToReview(Review review, View.OnClickListener starClickListener) {
   author.setText(review.author);
   categories.setText(review.categories);
   buss_name.setText(review.businessName);
   buss_address.setText(review.addressData);
   location.setText(review.location);
   district.setText(review.district);
   reviewData.setText(review.reviewData);
   date.setText(review.date);
   likeCount.setText(String.valueOf(review.likeCount));
   starsData.setRating(stars);

    likes.setOnClickListener(starClickListener);
}

审查适配器:

@SuppressLint("CheckResult")
@Override
public void onBindViewHolder(@NonNull ReviewAdapter.ViewHolder holder, int position) {
    holder.uid.setText(reviewsList.get(position).uid);
    holder.categories.setText(reviewsList.get(position).categories);
    holder.author.setText(reviewsList.get(position).author);
    holder.businessName.setText(reviewsList.get(position).businessName);
    holder.address.setText(reviewsList.get(position).addressData);
    holder.reviewData.setText(reviewsList.get(position).reviewData);
    holder.likes.setText(String.valueOf(reviewsList.get(position).likeCount));
    holder.date.setText(reviewsList.get(position).date);
    holder.stars.setText(String.valueOf(reviewsList.get(position).starsData));

    final RequestOptions requestOptions = new RequestOptions();
    requestOptions.placeholder(R.drawable.image_placeholder);
    Glide.with(mContext).applyDefaultRequestOptions(requestOptions)
            .load(reviewsList.get(position).image).into(holder.reviewImage);


}

我在那里注释掉了星星线,因为我真的不知道如何从评级栏获得价值。

图片供参考

添加评分:

  stars = findViewById(R.id.rating);
    stars.setOnRatingBarChangeListener((ratingBar, rating, fromUser) -> {
        if (fromUser) reference.child("rating").setValue(rating);
    });

    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NotNull DataSnapshot dataSnapshot) {
            if (dataSnapshot != null && dataSnapshot.getValue() != null)  {
                rating = Float.parseFloat(String.valueOf(dataSnapshot.getValue()));
                stars.setRating(rating);
            }
        }

        @Override
        public void onCancelled(@NotNull DatabaseError databaseError) { }
    });

让星星看星星

问题暂未有回复.您可以查看右边的相关问题.
1 如何从Firebase数据库检索数据以显示标记?

我正在尝试从Firebase数据库检索纬度和经度,但是这样做很困难。 正如您在屏幕快照下看到的那样,每张照片都有自己的ID,这些ID附加在用户ID上。 我想在带有标记的地图上显示数据库中的所有位置。 附带的是我的代码和数据库的屏幕快照。 数据库截图: 编辑:我根据要求添加 ...

6 从数据库填充导航栏数据

我有一个sails应用程序,我想从数据库中填充导航栏下拉菜单数据。 我正在使用策略来调用服务并填充sails.config.views.locals.HeaderData变量 但是由于帆的某些异步功能,仅当控制器发送响应时才调用服务,而不是在请求到达策略时才调用服务。这在ejs中给了 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM