Данные не загружаются при повторном просмотре - PullRequest
0 голосов
/ 19 апреля 2020

Изображение показывает мою базу данных strcutre. Я пытаюсь получить доступ к значению комментариев ресторана. Попытка загрузить обзоры из базы данных Firebase по пути (RestaurantName / Reviews / Comments), но я не могу загрузить его. В настоящее время только потянув комментарии, чтобы попытаться заставить его работать. Я проверил несколько источников, но это не похоже на работу. Любая помощь будет оценена. Ниже приведен мой код (Изменить мой setReview говорит, что он никогда не используется. Нужно ли их где-либо мне вставлять?)

CLASS
package com.example.rrapplication;

public class Restuarant {

    private static String RestaurantName;
    private static String Review;
    private static Float Score;

    public Restuarant(){}

    public Restuarant(String name, String review, Float score)
    {
        RestaurantName = name;
        Review = review;
        Score = score;
    }

    public  static void SetRestaurantName(String name)
    {
        RestaurantName = name;
    }

    public static String GetRestaurantName()
    {
        return RestaurantName;
    }

    public static void SetReview(String review)
    {
        Review = review;
    }

    public static String GetReview()
    {
        return Review;
    }

    public static void SetScore(Float score)
    {
        Score = score;
    }

    public static Float GetScore()
    {
        return Score;
    }
}
ADAPTER
public class ReviewAdapter extends RecyclerView.Adapter<ReviewAdapter.MyViewHolder>
{
    private Context context;
    private ArrayList<Restuarant> alRestaurants = new ArrayList<>();

    public ReviewAdapter(Context c, ArrayList<Restuarant> r)
    {
        this.context = c;
        this.alRestaurants = r;
    }

    @NonNull
    @Override
    public ReviewAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        return new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.review_card_view, parent, false));
    }

    @Override
    public void onBindViewHolder(@NonNull ReviewAdapter.MyViewHolder holder, int position) {
        Restuarant restuarant = alRestaurants.get(position);
        holder.tvReview.setText(restuarant.GetReview());
    }

    @Override
    public int getItemCount() {
        return alRestaurants.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder
    {
        TextView tvReview;
        public MyViewHolder(View itemView)
        {
            super(itemView);
            tvReview = itemView.findViewById(R.id.tvReviewCardViewReviewText);

        }
    }
}
ACTVITY
    DatabaseReference mDatabase;
    RecyclerView rvReview;
    ArrayList<Restuarant> alRestaurants = new ArrayList<>();
    ReviewAdapter raAdapter

   mDatabase = FirebaseDatabase.getInstance().getReference(Restuarant.GetRestaurantName());

        rvReview = findViewById(R.id.ReviewRecyclerV);
        rvReview.setHasFixedSize(true);
        rvReview.setLayoutManager(new LinearLayoutManager(this));

mDatabase.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                alRestaurants.clear();
                for(DataSnapshot dataSnapshot1 : dataSnapshot.child("Comments").getChildren())
                {
                    Restuarant restuarant = dataSnapshot1.getValue(Restuarant.class);
                    alRestaurants.add(restuarant);
                }
                raAdapter = new ReviewAdapter(RestaurantScreen.this, alRestaurants);
                rvReview.setAdapter(raAdapter);
                raAdapter.notifyDataSetChanged();
                    }
                }
            }



XML
<HorizontalScrollView
            android:id="@+id/RecommendationRSSV"
            android:layout_width="wrap_content"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="vertical">
                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/SimiliarRestuarantRecyclerV"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"/>
            </LinearLayout>
        </HorizontalScrollView>
CARD XML
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

                <RatingBar
                    android:id="@+id/rbReviewCardViewRatingBar"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:rating="0.0"
                    android:isIndicator="true"
                    style="@style/Widget.AppCompat.RatingBar.Indicator"/>

                <TextView
                    android:id="@+id/tvReviewCardViewReviewText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
        </LinearLayout>

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