有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么每当我更新FireBase中的字段时,我的RecyerView都会创建新条目?

我正试图让它,以便用户可以按下按钮,并更新他们的信息存储在Firebase上。下面的代码允许更新他们的信息,但当我按“上一步”按钮进入“回收者查看”活动时,将根据用户更改的内容创建新条目。我不确定为什么会出现这种情况,但我注意到当我刷新活动时,recylcerview显示了它应该显示的内容。所以我试着用一个回收视图。AdapterDataObserver,以便在更改recyclerview时刷新活动,但我编写的代码未能做到这一点。我认为问题还可能与以下事实有关:我无法在更新firebase中字段的活动中调用notifyItemRemoved,因为我在RecycleView中使用的适配器位于RecycleWebActivity中

用于更新字段的代码

contactInfo.child("email").setValue(editEmail.getText().toString();
contactInfo.child("address").setValue(editAdd.getText().toString();
contactInfo.child("phoneNumber").setValue(editPhone.getText().toString());

RecylerView活动中的RecylerView代码

recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
clAdapter = new CLAdapter(this);
RecyclerView.AdapterDataObserver defaultObserver = new RecyclerView.AdapterDataObserver(){
   @Override
   public void onChanged() {
        Intent intent = getIntent();
        finish();
        startActivity(intent);
   }
};
clAdapter.registerAdapterDataObserver(defaultObserver);
recyclerView.setAdapter(clAdapter);

共 (0) 个答案