android-studio - 当我尝试将数据从 Firebase 导入列表视图时,该应用程序总是崩溃
问题描述
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) {
}
});
解决方案
首先,不清楚什么是octData?因此,据我了解,您的列表名称是 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);
推荐阅读
- python - 唯一字符串的总和 - 熊猫
- uml - 多层架构序列图建议
- azure-cosmosdb - 我使用 Cosmos DB 并运行 SQL 命令并得到错误代码:SC1001
- reactjs - axios 不会从 django 服务器检索数据
- python - 通过迭代更改列表来填充数据结构——输出中仅存在最后一次更新
- ubuntu - 引导错误。/dev/sda2:清理,***/*** 文件,***/*** 块
- mysql - 如何在表被截断和填充时避免数据不可用
- regex - 在字符串中查找大写字母、数字、括号和冒号
- asp.net - 在没有 MVC 或 Razor 的情况下使用 ASP.NET Core 标记帮助程序 asp-append-version
- c - 如何从包含-city1 city2 distance-的txt文件创建邻接矩阵