Мой код
private void addOnlineData(final String item) {
mChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot != null) {
final String message = dataSnapshot.child("Message").getValue().toString();
final String time = dataSnapshot.child("Time").getValue().toString();
final String from = dataSnapshot.child("From").getValue().toString();
final String seen = dataSnapshot.child("Seen").getValue().toString();
LastSeen lastSeeen = new LastSeen();
long lastTime = Long.parseLong(time);
final String lastSeenTime = lastSeeen.lastSeen(lastTime, getActivity());
mDatabaseReference.child("UserData").child(item).child("Name").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name = dataSnapshot.getValue().toString();
//CODE GIVEN BELOW WAS HERE
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
То, что я попробовал
1
Log.d("HHHHH2222", String.valueOf(mChats.size()));
mChats.remove(new HomeScreenChatsHelper(name, message, lastSeenTime, from, seen));
Log.d("HHHHH2222", String.valueOf(mChats.size()));
mChats.add(new HomeScreenChatsHelper(name, message, lastSeenTime, from, seen));
mAdapter.notifyDataSetChanged();
2
Log.d("HHHHH2222", String.valueOf(mChats.size()));
mChats.clear();
mChats.add(new HomeScreenChatsHelper(name, message, lastSeenTime, from, seen));
Log.d("HHHHH2222", String.valueOf(mChats.size()));
mAdapter.notifyDataSetChanged();
Моя деятельность просто получает данные пользователя из firebase, и в настоящее время она имеет 2 дочерних элемента
Если я изменю данные пользователя, данные в массиве данных должны быть удалены и добавлены сновак измененным данным
Предположим, что значение пользователя A равно X
значение пользователя B равно Y
Это показывает, что в действии, и если я изменю значение пользователя A наP из X
Я хочу, чтобы действие показывало новые данные, которые P
Но в методах, которые я попробовал.
1st One Imполучение 3 значений A = X, B = Y и A = P
. Как видите, новые данные добавляются, но существующие данные не удаляются
Во втором методеактивность просто обновляется только с данными ne, которые имеют вид A = P
Когда добавляются новые данные, я хочу удалить старые данные и показать новые без повторения
Методы, которые я пробовал, Код был внутри onDataChange
Класс помощника
public class HomeScreenChatsHelper {
private String Name;
private String LastMessage;
private String LastMessageTime;
private String From;
private String Seen;
public HomeScreenChatsHelper(){
}
public HomeScreenChatsHelper(String name, String lastMessage, String lastMessageTime, String from, String seen) {
this.Name = name;
this.LastMessage = lastMessage;
this.LastMessageTime = lastMessageTime;
this.From = from;
this.Seen = seen;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getMessage() {
return LastMessage;
}
public void setMessage(String message) {
LastMessage = message;
}
public String getTime() {
return LastMessageTime;
}
public void setTime(String time) {
LastMessageTime = time;
}
public String getFrom() {
return From;
}
public void setFrom(String from) {
From = from;
}
public String getSeen() {
return Seen;
}
public void setSeen(String seen) {
Seen = seen;
}
}