【发布时间】:2018-10-02 11:28:57
【问题描述】:
Android 应用程序在尝试显示来自 firebase 的数据列表时崩溃
public classexerciseshowactivity 扩展 Activity {
private DatabaseReference mDatabase;
private Button btnSearch;
private EditText actSearch;
private ListView lvexercise;
Exercise exercise;
String key;
private ArrayList<String> arrayList = new ArrayList <> ();
private ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate ( savedInstanceState );
setContentView ( R.layout.activity_exerciseshow );
mDatabase = FirebaseDatabase.getInstance ().getReference ().child("Exercise").child(key).child("name");
// DatabaseReference commandsRef = mDatabase.child("Exercise");
adapter = new ArrayAdapter <String> ( this, android.R.layout.simple_list_item_1, arrayList );
btnSearch = (Button) findViewById ( R.id.btnSearch );
actSearch = (EditText) findViewById ( R.id.actSearch );
lvexercise = (ListView) findViewById ( R.id.lvexercise );
mDatabase.addChildEventListener ( new ChildEventListener () {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
// 地图 map = (Map) dataSnapshot.getValue(); // String string = dataSnapshot.getValue(String.class);
Exercise latest = dataSnapshot.getValue(Exercise.class);
arrayList.add ( String.valueOf ( latest ) );
adapter.notifyDataSetChanged ();
lvexercise.setAdapter ( adapter );
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
} );
}
}
【问题讨论】:
-
问题解决了吗?
标签: android firebase listview firebase-realtime-database