java.lang.IllegalStateException FragmentManager已在执行事务
我正在尝试运行我的应用程序,并将错误作为标题。我不明白为什么我得到这些,因为它似乎是工作较早 下面是我得到的运行时错误,我看不出它为什么不工作,有人能帮我吗 错误: 家庭碎片java.lang.IllegalStateException FragmentManager已在执行事务,java,android,android-fragments,google-cloud-firestore,Java,Android,Android Fragments,Google Cloud Firestore,我正在尝试运行我的应用程序,并将错误作为标题。我不明白为什么我得到这些,因为它似乎是工作较早 下面是我得到的运行时错误,我看不出它为什么不工作,有人能帮我吗 错误: 家庭碎片 Query firstQuery = firebaseFirestore.collection("Posts").orderBy("timestamp", Query.Direction.DESCENDING).limit(3); firstQuery.addSnapshotListener(g
Query firstQuery = firebaseFirestore.collection("Posts").orderBy("timestamp", Query.Direction.DESCENDING).limit(3);
firstQuery.addSnapshotListener(getActivity(), new EventListener<QuerySnapshot>()
{
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
if (!documentSnapshots.isEmpty()) {
if (isFirstPageFirstLoad) {
lastVisible = documentSnapshots.getDocuments().get(documentSnapshots.size() - 1);
blog_list.clear();
}
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
String blogPostId = doc.getDocument().getId();
BlogPost blogPost = doc.getDocument().toObject(BlogPost.class).withId(blogPostId);
if (isFirstPageFirstLoad) {
blog_list.add(blogPost);
} else {
blog_list.add(0, blogPost);
}
blogRecyclerAdapter.notifyDataSetChanged();
}
}
HomeFragment第80行中写了什么请FirstQuery.addSnapshotListener(getActivity(),new EventListener(){您能在问题中发布代码吗?我知道这是第一段代码,您需要整个类吗?
Query firstQuery = firebaseFirestore.collection("Posts").orderBy("timestamp", Query.Direction.DESCENDING).limit(3);
firstQuery.addSnapshotListener(getActivity(), new EventListener<QuerySnapshot>()
{
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
if (!documentSnapshots.isEmpty()) {
if (isFirstPageFirstLoad) {
lastVisible = documentSnapshots.getDocuments().get(documentSnapshots.size() - 1);
blog_list.clear();
}
for (DocumentChange doc : documentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
String blogPostId = doc.getDocument().getId();
BlogPost blogPost = doc.getDocument().toObject(BlogPost.class).withId(blogPostId);
if (isFirstPageFirstLoad) {
blog_list.add(blogPost);
} else {
blog_list.add(0, blogPost);
}
blogRecyclerAdapter.notifyDataSetChanged();
}
}
private void initializeFragment(){
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_container, homeFragment);
fragmentTransaction.add(R.id.main_container, notificationFragment);
fragmentTransaction.add(R.id.main_container, accountFragment);
fragmentTransaction.hide(notificationFragment);
fragmentTransaction.hide(accountFragment);
fragmentTransaction.commit();
}
private void replaceFragment(Fragment fragment, Fragment currentFragment){
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
if(fragment == homeFragment){
fragmentTransaction.hide(accountFragment);
fragmentTransaction.hide(notificationFragment);
}
if(fragment == accountFragment){
fragmentTransaction.hide(homeFragment);
fragmentTransaction.hide(notificationFragment);
}
if(fragment == notificationFragment){
fragmentTransaction.hide(homeFragment);
fragmentTransaction.hide(accountFragment);
}
fragmentTransaction.show(fragment);
fragmentTransaction.replace(R.id.main_container, fragment);
fragmentTransaction.commit();
}
}