Адаптер не подключен; пропуск макета с помощью FirebaseRecyclerAdapter - PullRequest
0 голосов
/ 26 января 2019

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

Заранее спасибо

модель класса

public class ModelClass {
private String Titile, Disc, Image;
public ModelClass(String titile, String disc, String image) {
    Titile = titile;
    Disc = disc;
    Image = image;
}

public ModelClass() {
}

public String getTitile() {
    return Titile;
}

public void setTitile(String titile) {
    Titile = titile;
}

public String getDisc() {
    return Disc;
}

public void setDisc(String disc) {
    Disc = disc;
}

public String getImage() {
    return Image;
}

public void setImage(String image) {
    Image = image;
}

}

Главная страница

public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private FirebaseDatabase database;
private DatabaseReference mRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    database = FirebaseDatabase.getInstance();
    mRef = database.getReference();
    recyclerView = (RecyclerView)findViewById(R.id.MainRecylerView1);
    LinearLayoutManager manager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(manager);
    recyclerView.setHasFixedSize(true);
    RetriveData();


}

@Override
protected void onStart() {
    super.onStart();

}

public void RetriveData(){
    mRef.child("Users").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()){


                final FirebaseRecyclerAdapter<ModelClass, ViewCalssHolder>firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<ModelClass, ViewCalssHolder>
                        (
                                ModelClass.class,
                                R.layout.display_images_and_titile,
                                ViewCalssHolder.class,
                                mRef
                        ) {
                    @Override
                    protected void populateViewHolder(ViewCalssHolder viewHolder, ModelClass model, int position) {
                        viewHolder.setTitile(model.getTitile().toString());
                        viewHolder.setDisc(model.getDisc().toString());


                    }

                };
                recyclerView.setAdapter(firebaseRecyclerAdapter);

          }


        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

}


public class ViewCalssHolder extends RecyclerView.ViewHolder{
    View mView;

    public ViewCalssHolder(View itemView) {
        super(itemView);
        mView = itemView;
    }

    public void setTitile(String titile) {
        TextView T = itemView.findViewById(R.id.post_title);
        T.setText(titile);
    }
    public void setDisc(String disc) {
        TextView T = itemView.findViewById(R.id.post_desc);
        T.setText(disc);

    }
    public void setImage(String image) {

    }

}

}

1 Ответ

0 голосов
/ 27 января 2019

Добавьте эти строки в методы onStart и onStop:

переопределить fun onStop () {

super.onStop ()

adapter.stopListening ()

}

переопределить удовольствие onStart () {

super.onStart ()

adapter.startListening ()

}

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