Android 如何从firebase数据库读取信息并将其存储在列表视图中?安卓
我查看了试图从firebase数据库读取的所有recipes活动 但是, 我不断收到空异常错误(请参阅下面的错误代码) 我想尝试的是读取数据并将其存储在listview中。此数据以四个字符串的形式显示:名称、配方说明、成分列表和方法 有人能帮忙吗 爪哇 有人能帮忙吗 干杯Android 如何从firebase数据库读取信息并将其存储在列表视图中?安卓,android,Android,我查看了试图从firebase数据库读取的所有recipes活动 但是, 我不断收到空异常错误(请参阅下面的错误代码) 我想尝试的是读取数据并将其存储在listview中。此数据以四个字符串的形式显示:名称、配方说明、成分列表和方法 有人能帮忙吗 爪哇 有人能帮忙吗 干杯 convert object of type java.lang.String to type com.example.korey.puregymapplication.recipe 当json数据不适合您的模型时,就会出现
convert object of type java.lang.String to type com.example.korey.puregymapplication.recipe
当json数据不适合您的模型时,就会出现此错误
检查此代码
r.setName(data.getValue(recipe.class).getName());
这是您的问题,请参阅返回的Json数据,这里有一个更干净的解决方案:
adapter = new FirebaseListAdapter<recipe>(viewAllRecipes.this, recipe.class,
android.R.layout.simple_list_item_1,FirebaseDatabase.getInstance()
.getReference().child("recipeDetails")) {
@Override
protected void populateView(View v, recipe model, int position) {
TextView recipe =(TextView)v.findViewById(android.R.id.text1);
tutorUser.setText(model.getName());
}
};
recipeListView.setAdapter(adapter);
adapter=新的FirebaseListAdapter(viewAllRecipes.this、recipe.class、,
android.R.layout.simple_list_item_1,FirebaseDatabase.getInstance()
.getReference().child(“RecipedDetails”)){
@凌驾
受保护的void populateView(视图v、配方模型、int位置){
TextView配方=(TextView)v.findViewById(android.R.id.text1);
setText(model.getName());
}
};
recipeListView.setAdapter(适配器);
简单的修复可能需要更长的时间
mMessagesDatabaseReference=mFirebaseDatabase.getInstance().getReference()
^我需要添加这个数据库的一个实例和一个引用
固定的。不要再撞车了。firebase数据库中的所有信息现在都显示得很好
我希望这可以帮助其他试图使用列表视图在单独的活动中显示信息的用户 我不确定您的意思。FirebaseListAdapter附带Firebase库,便于您轻松填充ListView:
r.setName(data.getValue(recipe.class).getName());
adapter = new FirebaseListAdapter<recipe>(viewAllRecipes.this, recipe.class,
android.R.layout.simple_list_item_1,FirebaseDatabase.getInstance()
.getReference().child("recipeDetails")) {
@Override
protected void populateView(View v, recipe model, int position) {
TextView recipe =(TextView)v.findViewById(android.R.id.text1);
tutorUser.setText(model.getName());
}
};
recipeListView.setAdapter(adapter);