У меня сейчас ошибка в приложении.У меня есть просмотрщик, который загружает сообщения из базы данных Firebase и отображает их.Когда я переключаю фрагменты и действия, я не получаю никаких ошибок.Когда я нажимаю кнопку «Домой» или кнопку «Вкладки» на моем телефоне, а затем снова нажимаю на свое приложение, происходит сбой с сообщением об ошибке
java.lang.IndexOutOfBoundsException: обнаружено несоответствие.Недопустимый адаптер держателя вида..... 0,0-1080,1497 # 7f0900c2 приложение: id / postList}, адаптер: com.sender.hp.sender.DashboardFragment$2@efd661, макет: android.support.v7.widget.LinearLayoutManager@9760586,context: com.sender.hp.sender.MainActivity@720f0fa
Всякий раз, когда я нажимаю кнопку «Назад» на моем телефоне, и мое приложение закрывается, Если я перехожу на вкладки и нажимаю на свое приложение, оноработает отлично.У меня нет слушателя onBackPressed.Вот мой код,
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<postsGetInfo, postsGetInfoViewHolder>(postsGetInfo.class, R.layout.posts_layout,postsGetInfoViewHolder.class,postRef) {
@Override
protected void populateViewHolder(final postsGetInfoViewHolder viewHolder, postsGetInfo model, int position) {
TextView txtUpvote = (TextView) viewHolder.myView.findViewById(R.id.txtUpvoteCount);
final String postKey = getRef(position).getKey();
viewHolder.setUsername(model.getUsername());
viewHolder.setTime(model.getTime());
viewHolder.setDate(model.getDate());
viewHolder.setDescription(model.getDescription());
viewHolder.setProfileImage(model.getProfileimage());
viewHolder.setImage(model.getImage());
viewHolder.setDisplayvotes(model.getDisplayvotes());
viewHolder.myView.findViewById(R.id.imgDownvote).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
UpdateTheDisplayVotes(postKey);
++getDownvotes;
--getDisplayVotes;
String txtDisplayVotes = Integer.toString(getDisplayVotes);
postRef.child(postKey).child("downvotes").setValue(getDownvotes);
postRef.child(postKey).child("displayvotes").setValue(txtDisplayVotes);
}
});
viewHolder.myView.findViewById(R.id.imgUpvote).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
UpdateTheDisplayVotes(postKey);
++getUpvotes;
++getDisplayVotes;
String txtDisplayVotes = Integer.toString(getDisplayVotes);
postRef.child(postKey).child("upvotes").setValue(getUpvotes);
postRef.child(postKey).child("displayvotes").setValue(txtDisplayVotes);
}
});
viewHolder.myView.findViewById(R.id.imgPost).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent editIntent = new Intent((getActivity()),postEdit.class);
editIntent.putExtra("PostKey",postKey);
startActivity(editIntent);
}
});
}
};
postList.setAdapter(firebaseRecyclerAdapter);
}
private void UpdateTheDisplayVotes(final String key) {
VoteListener = postRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
if (dataSnapshot.hasChild("displayvotes")){
displayvotes = dataSnapshot.child(key).child("displayvotes").getValue().toString();
getDisplayVotes = Integer.parseInt(displayvotes);
}
if (dataSnapshot.hasChild("upvotes")){
upvotes = dataSnapshot.child(key).child("upvotes").getValue().toString();
getUpvotes = Integer.parseInt(upvotes);
}
if (dataSnapshot.hasChild("downvotes")){
downvotes = dataSnapshot.child(key).child("downvotes").getValue().toString();
getDownvotes = Integer.parseInt(downvotes);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void onStart() {
super.onStart();
firebaseRecyclerAdapter.startListening();
}
@Override
public void onStop() {
super.onStop();
if (firebaseRecyclerAdapter != null){
firebaseRecyclerAdapter.cleanup();
}
}
Кто-нибудь знает, как исправить?Спасибо за любые ответы!