Я пытаюсь получить данные из базы данных Firebase на ListView
, но данные не показывают самое новое в верхней части, чем первое, что существует в базе данных.
это из базы данных Firebase
это скриншот из приложения
Я бы хотел, чтобы приложение отображало самый последний текст в верхней части списка. Этот код я использую,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayAdapter<String> myAdapter= new ArrayAdapter<String>
(MainActivity.this,android.R.layout.simple_list_item_1,myArray);
mListView = (ListView)findViewById(R.id.listView);
mListView.setAdapter(myAdapter);
mListView.animate();
mRef= FirebaseDatabase.getInstance().getReference();
mRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
String value=dataSnapshot.getValue(String.class);
myArray.add( "- "+ value);
myAdapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
myAdapter.notifyDataSetChanged();
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}