【发布时间】:2020-07-12 10:33:49
【问题描述】:
我尝试从 ListView 上的 Firebase 数据库中检索数据,但数据没有显示在顶部,而不是数据库中的第一个数据。
this is a screenshot from the app
我希望应用在列表顶部显示最新的文本。这是我使用的代码,
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) {
}
});
}
}
【问题讨论】:
标签: java android listview arraylist