Android I';我正试图用寻呼机和毕加索将firebase中的图像显示到一个狂欢的视图中,但图像没有进入视图

Android I';我正试图用寻呼机和毕加索将firebase中的图像显示到一个狂欢的视图中,但图像没有进入视图,android,firebase,android-viewpager,Android,Firebase,Android Viewpager,来自firebase的图像无法进入视图 我已经尽了我所能,最后,我不得不问这个问题 这是我的适配器类 public class ViewPagerAdapter extends PagerAdapter { Context context; public String[] imageUrls ; public ViewPagerAdapter(Context context,String[] imageUrls){ this.context=context; this.imageUrls=

来自firebase的图像无法进入视图

我已经尽了我所能,最后,我不得不问这个问题

这是我的适配器类

public class ViewPagerAdapter extends PagerAdapter {

Context context;
public  String[] imageUrls ;

public ViewPagerAdapter(Context context,String[] imageUrls){
this.context=context;
this.imageUrls=imageUrls;
}

@Override
public int getCount() {
    return imageUrls.length;
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
    return view==o;
}

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    ImageView imageView = new ImageView(context);
    Picasso.get()
            .load(imageUrls[position])
            .fit()
            .centerCrop()
            .into(imageView);
    container.addView(imageView);

    return imageView;



}

@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
    container.removeView((View) object);
}
}
这是我从firebase获取数据的另一个类

private void loadImages(String insideHostelID) {


    ImageDatabaseReference.child(insideHostelID).child("INSIDE_PICTURES").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            Inside_location inside_location=dataSnapshot.getValue(Inside_location.class) ;
          //  Toast.makeText(hostelDetails.this,""+ inside_location.getPIC9(),Toast.LENGTH_SHORT).show();

            imageUrls = new String[]{
                    inside_location.getPIC1(), inside_location.getPIC2(),
                    inside_location.getPIC3(), inside_location.getPIC4(),
                    inside_location.getPIC5(), inside_location.getPIC6(),
                    inside_location.getPIC7(), inside_location.getPIC8(),
                    inside_location.getPIC9(), inside_location.getPIC10(),
            };
            viewPagerAdapter = new ViewPagerAdapter(getBaseContext(),imageUrls);
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });
    insideHostelImage.setAdapter(viewPagerAdapter);
}

不知道问题出在哪里

在收到firebase的任何响应之前,您正在设置适配器。 只是修改了如下代码

private void loadImages(String insideHostelID) {    
    ImageDatabaseReference.child(insideHostelID).child("INSIDE_PICTURES").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            Inside_location inside_location=dataSnapshot.getValue(Inside_location.class) ;
          //  Toast.makeText(hostelDetails.this,""+ inside_location.getPIC9(),Toast.LENGTH_SHORT).show();

            imageUrls = new String[]{
                    inside_location.getPIC1(), inside_location.getPIC2(),
                    inside_location.getPIC3(), inside_location.getPIC4(),
                    inside_location.getPIC5(), inside_location.getPIC6(),
                    inside_location.getPIC7(), inside_location.getPIC8(),
                    inside_location.getPIC9(), inside_location.getPIC10(),
            };
            viewPagerAdapter = new ViewPagerAdapter(getBaseContext(),imageUrls);
            insideHostelImage.setAdapter(viewPagerAdapter);
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });
}
并在适配器类中添加/替换下面的方法

@Override
public boolean isViewFromObject(View view, Object object) {
    return view == ((LinearLayout) object);
}

仍然没有图像请确保您的查询响应正确返回数据,并在“onCancelled”查询方法中添加一些toast。这样,当数据库删除您的请求时,您将通知。如果您从firebase获得任何响应数据,请检查所有内容。然后尝试将适配器中的addView方法更改为
container.addView(imageView,newviewgroup.LayoutParams(MATCH_CONTENT,MATCH_CONTENT))