octDatabase = FirebaseDatabase.getInstance().getReference().child("Octave Spectrum");
octList = (ListView) findViewById(R.id.octaList);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, octData);
//它一直工作到这一点,然后应用程序崩溃setAdapter函数对我不起作用 octList.setAdapter(arrayAdapter);
octDatabase.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String y = dataSnapshot.getValue(String.class);
octData.add(y);
}
@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) {
}
});
答案 0 :(得分:0)
首先,目前尚不清楚什么是octData?所以根据我的理解,你的listname是octList。
因此,您需要在代码中的数组适配器的第三个参数中设置列表,如下所示: -
octDatabase = FirebaseDatabase.getInstance().getReference().child("Octave Spectrum");
octList = (ListView) findViewById(R.id.octaList);
替换以下行: -
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, octData);
: -
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, octList);