В представлении Recycler не отображаются данные об активности - PullRequest
0 голосов
/ 24 мая 2018

Я занимаюсь разработкой приложения, которое должно извлекать данные из Firebase в представление переработчика, но это не так.приложение работает нормально, но ничего не отображается в области просмотра переработчика.

MainArea.java (onCreate)

protected void onCreate( Bundle savedInstanceState ) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_rating);
        Email=(TextView)findViewById(R.id.Email);
        Fullname=(TextView)findViewById(R.id.Name);
        City=(TextView)findViewById(R.id.City);
        Address=(TextView)findViewById(R.id.Address);
        rating=(TextView)findViewById(R.id.Rating);
        int s=getIntent().getIntExtra("position",0);
        DatabaseReference ref=MainArea.FBRA.getRef(s);
        ss=ref.getKey();
        DatabaseReference ref2= FirebaseDatabase.getInstance().getReference().child("Users").child(ss);
        ref2.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange( DataSnapshot dataSnapshot ) {
                  email=dataSnapshot.child("email").getValue().toString();
                  fullname=dataSnapshot.child("fullname").getValue().toString();
                  city=dataSnapshot.child("city").getValue().toString();
                  address=dataSnapshot.child("address").getValue().toString();
                  Totalrating=dataSnapshot.child("TotalRating").getValue().toString();
                    rating.setText(Totalrating);
                    Email.setText(email);
                    Fullname.setText(fullname);
                    City.setText(city);
                    Address.setText(address);

            }

            @Override
            public void onCancelled( DatabaseError databaseError ) {

            }
        });
        myRef2=FirebaseDatabase.getInstance().getReference("RatingPosts").child(ss);
        Rview=(RecyclerView)findViewById(R.id.recycler);
        Rview.setHasFixedSize(true);
        Rview.setLayoutManager(new LinearLayoutManager(DisplayRating.this));
        FirebaseRecyclerAdapter<dataget,ViewHolder2> Fbra=new FirebaseRecyclerAdapter<dataget, ViewHolder2>(
                dataget.class,
                R.layout.cardr2,
                ViewHolder2.class,
                myRef2
        ) {
            @Override
            protected void populateViewHolder( ViewHolder2 viewHolder, dataget model, int position ) {
                    viewHolder.setAddress(model.getAddress());
                    viewHolder.setPicture(model.getPicture());
                    viewHolder.setRating(model.getRating());

            }
        };
        Rview.setAdapter(Fbra);
     }

ViewHolder

public  static class ViewHolder2 extends RecyclerView.ViewHolder
     {
         View mView;
         Context ctx;
         public ViewHolder2( View itemView ) {
             super(itemView);
             mView=itemView;
             ctx=itemView.getContext();
         }


         public void setAddress( String address ) {
            TextView Add=(TextView)mView.findViewById(R.id.add);
            Add.setText(address);
         }

         public void setPicture( String picture ) {
             ImageView img=(ImageView)mView.findViewById(R.id.img);
             Picasso.with(ctx).load(picture).into(img);
         }

         public void setRating( String rating ) {
                TextView rate=(TextView)mView.findViewById(R.id.ratee);
                rate.setText(rating);
         }
     }

dataget.java

пакет com.hitachiapp.hitachi.hitachiapp;

/ ** * Создано Мохитом Гуптой 23-05-2018.* /

открытый класс данных {

String Address,Picture,Rating;

public dataget( String address, String picture, String rating ) {
    Address = address;
    Picture = picture;
    Rating = rating;
}

public dataget() {
}

public String getAddress() {
    return Address;
}

public void setAddress( String address ) {
    Address = address;
}

public String getPicture() {
    return Picture;
}

public void setPicture( String picture ) {
    Picture = picture;
}

public String getRating() {
    return Rating;
}

public void setRating( String rating ) {
    Rating = rating;
}

}

структура базы данных это изображение

1 Ответ

0 голосов
/ 24 мая 2018

1 - Убедитесь, что вы добавили строку разрешений в файл манифеста

<uses-permission android:name="android.permission.INTERNET" />

2 - Проверьте свой DatabaseReference.Попробуйте использовать FirebaseDatabase.getInstance().getReference("RatingPosts"), чтобы подтвердить, что ссылка действительна, или Зарегистрируйте данные в logcat

3 - Убедитесь, что ваша модель данных - это модель данных вашей базы данных.(На снимке экрана показано, что у детей больше детей, и ваша модель данных показывает типы данных)

4 - Убедитесь, что recycler.setAdapter(adapter); вызывается после адаптера

5 - Убедитесь, что вы звоните recycler.setLayoutManager(layout);до номера 4

Ваш код недостаточен для отладки без журнала, но это типичные ошибки, которые люди делают при использовании firebase.

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