Android 图像滑块don';t从firebase实时数据库中获取

Android 图像滑块don';t从firebase实时数据库中获取,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在使用viewpager使用滑块,此滑块显示一些图像。我将此图像存储在firebase数据库中,但此应用程序在addValueEventListener方法中被粉碎并显示错误 MainActivity.java sliderpager=findviewbyd(R.id.slider); lstlides=newarraylist(); SliderPageAdapter SliderPageAdapter=新的SliderPageAdapter(MainActivity.this,lstSl

我正在使用viewpager使用滑块,此滑块显示一些图像。我将此图像存储在firebase数据库中,但此应用程序在addValueEventListener方法中被粉碎并显示错误

MainActivity.java

sliderpager=findviewbyd(R.id.slider);
lstlides=newarraylist();
SliderPageAdapter SliderPageAdapter=新的SliderPageAdapter(MainActivity.this,lstSlides);
sliderPageAdapter.notifyDataSetChanged();
sliderpager.setAdapter(sliderPageAdapter);
database=FirebaseDatabase.getInstance();
reference=database.getReference(“图像”);
addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
for(DataSnapshot img:DataSnapshot.getChildren()){
SliderModel sm=img.getValue(SliderModel.class);
添加(sm);
}
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){
}
});
SliderPageAdapter.java

私有上下文ctx;
列出幻灯片模型;
公共SliderPageAdapter(上下文ctx、列表SliderModels){
this.ctx=ctx;
this.SliderModels=SliderModels;
}
@凌驾
public int getCount(){
返回SliderModels.size();
}
@非空
@凌驾
公共对象实例化项(@NonNull视图组容器,int位置){
LayoutInflater充气器=(LayoutInflater)ctx.getSystemService(Context.LAYOUT\u充气器\u服务);
View slideLayout=充气机。充气(右布局。滑块行,空);
ImageView slidemg=slideLayout.findviewbyd(R.id.sliderimg);
Picasso.get().load(SliderModels.get(position.getImage()).into(slideImg);
container.addView(slideLayout);
返回幻灯片;
}
@凌驾
公共布尔值isViewFromObject(@NonNull视图,@NonNull对象){
返回视图==对象;
}
@凌驾
public void destructionItem(@NonNull视图组容器,int位置,@NonNull对象){
超级项目(容器、位置、对象);
container.removeView((视图)对象);
}
SliderModel.java

私有字符串图像;
公共幻灯片模型(){
}
公共幻灯片模型(字符串图像){
这个图像=图像;
}
公共字符串getImage(){
返回图像;
}
公共void setImage(字符串图像){
这个图像=图像;
}

如何解决此错误?

您需要删除for循环,因为在迭代时,检索到的数据类型为
String
。因此,请执行以下操作:

    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                SliderModel sm = dataSnapshot.getValue(SliderModel.class);
                lstSlides.add(sm);
            }

        }

错误是什么?这里,SliderModel sm=img.getValue(SliderModel.class);不,它不工作,我只是修改了我的firebase数据库。那就是工作。谢谢您的回复。不,它不起作用,我只是修改了我的firebase数据库。那就是工作。谢谢你的回复。