[英]Glide not loading images
我已經問過這個問題,但我還沒有真正得到答案,但我想我沒有提供足夠的細節或代碼,所以我決定刪除這個問題。 所以我將圖像保存在數據庫(Firebase)中,我試圖在 Recyclerview 中顯示它們,我注意到 Glide 沒有加載圖像。 我看到cardView
顯示為黑屏且沒有圖像。 我看到我收到了關於 glide 加載失敗等的警告消息。我不知道問題出在哪里,因為 Glide 在我的另一個項目上運行良好。 我將提供我的完整代碼以及我收到的警告消息。 希望有人可以幫助我解決他的問題。 提前致謝
警告信息:
> W/Glide: Load failed for null with size [0x0]
class com.bumptech.glide.load.engine.GlideException: Received null model
W/Glide: Load failed for null with size [0x0]
class com.bumptech.glide.load.engine.GlideException: Received null model
V/FA: Inactivity, disconnecting from the service
W/ConnectionTracker: Exception thrown while unbinding
java.lang.IllegalArgumentException: Service not registered: com.google.android.gms.measurement.internal.zzjp@68d387d
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1494)
模型類:
public class Model_Information {
public String mImageUrl;
public Model_Information(S String mImageUrl) {
this.mImageUrl = mImageUrl;
}
public Model_Information() {
}
public String getmImageUrl() {
return mImageUrl;
}
public void setmImageUrl(String mImageUrl) {
this.mImageUrl = mImageUrl;
}
}
適配器類:
public class Adapter extends RecyclerView.Adapter<Adapter.ImageViewHolder>{
private Context mContext;
private ArrayList<Model_Information> users;
public Adapter(Context context, ArrayList<Model_Information> uploads){
mContext = context;
users = uploads;
}
@NonNull
@Override
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View V = LayoutInflater.from(mContext).inflate(R.layout.cardview1, parent, false);
return new ImageViewHolder(V);
}
@Override
public void onBindViewHolder(@NonNull final ImageViewHolder holder, final int position) {
Glide.with(mContext).load(users.get(position).getmImageUrl()).thumbnail(0.05f).transition(DrawableTransitionOptions.withCrossFade()).fitCenter().centerInside().into(holder.imageView);
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(mContext,ViewActivity.class);
intent.putExtra("image",users.get(position).getmImageUrl());
mContext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return users.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder{
public ImageView imageView;
public ImageViewHolder(@NonNull View itemView) {
super(itemView);
imageView=itemView.findViewById(R.id.imageview);
}
}
主要類:
databaseReference = FirebaseDatabase.getInstance("https://poot0-44881.firebaseio.com").getReference("Images");
firebaseStorage = FirebaseStorage.getInstance();
storageReference = firebaseStorage.getReference();
firebaseUser = firebaseAuth.getInstance().getCurrentUser();
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
progressBar.setVisibility(View.GONE);
if(dataSnapshot.exists()){
for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
Model_Information upload=postsnapshot.getValue(Model_Information.class);
myUploads.add(upload);
aAdapter = new Adapter(MainActivity2.this, myUploads);
recyclerView.setAdapter(aAdapter);
aAdapter.notifyDataSetChanged();
recyclerView.invalidate();
}
aAdapter.notifyDataSetChanged();
}else{
}
所以我找到了我的問題。 我必須使用 addChildEventListener 而不是使用 addValueEventListener,因為我試圖從另一個 firebase 項目或數據庫中獲取數據。 希望有人覺得這個答案有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.