android - 图像未显示在 ImageView 中(选项卡式活动中 ViewPager 内的 Fragent)-毕加索未替换占位符
问题描述
我有一个选项卡式活动,每个选项卡都包含一个带有 recyclerView 的片段。recyclerView 中的项目由带有文本的图像组成,两者都从 Firebase 实时数据库中获取。
一切似乎都运行良好,没有错误,但是当我运行应用程序时,会获取并显示名称,而不是图像。
这是片段
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.andrei.bucatariadebuzunar.Clases.ImageUploadInfo;
import com.andrei.bucatariadebuzunar.Clases.ImageUploadInfoViewHolder;
import com.andrei.bucatariadebuzunar.R;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.squareup.picasso.Picasso;
public class FripturiFragment extends Fragment {
public RecyclerView recyclerView;
private DatabaseReference databaseReference;
FirebaseRecyclerOptions<ImageUploadInfo> options;
FirebaseRecyclerAdapter<ImageUploadInfo,ImageUploadInfoViewHolder>adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_layout, container, false);
databaseReference = FirebaseDatabase.getInstance().getReference().child("Recipes_Images").child("Fripturi");
databaseReference.keepSynced(true);
recyclerView = rootView.findViewById(R.id.recyclerViewRecipes);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
LoadData();
return rootView;
}
private void LoadData() {
options = new FirebaseRecyclerOptions.Builder<ImageUploadInfo>().setQuery(databaseReference,ImageUploadInfo.class).build();
adapter = new FirebaseRecyclerAdapter<ImageUploadInfo, ImageUploadInfoViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull ImageUploadInfoViewHolder imageUploadInfoViewHolder, int position, @NonNull ImageUploadInfo model) {
imageUploadInfoViewHolder.textView.setText(model.getImageName());
Picasso.get().load(model.getImageURL()).placeholder(R.drawable.hat).into(imageUploadInfoViewHolder.imageView);
}
@NonNull
@Override
public ImageUploadInfoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recipe_card_view,parent,false);
return new ImageUploadInfoViewHolder(view);
}
};
adapter.startListening();
recyclerView.setAdapter(adapter);
}
}
这是 ImageUploadInfo 类
public class ImageUploadInfo {
public String imageName;
public String imageURL;
public ImageUploadInfo() {
}
public ImageUploadInfo(String imageName, String imageURL) {
this.imageName = imageName;
this.imageURL = imageURL;
}
public String getImageName() {
return imageName;
}
public String getImageURL() {
return imageURL;
}
public void setImageName(String imageName) {
this.imageName = imageName;
}
public void setImageURL(String imageURL) {
this.imageURL = imageURL;
}
}
解决方案
推荐阅读
- asp.net - 终端中的命令“dotnet new mvc”但没有 mvc 模板
- applescript - 在选定的文本上运行 Applescript 并将其存储在剪贴板上
- java - 我们可以提高除 java 8 并行流以外的列表的性能吗
- python - 如何在 pyinstaller 中只包含需要的模块?
- c# - 如何在 C# 中将字节数组读取为多维数组?
- python - 使用 Python/正则表达式优化字符串
- tensorflow - SegNet:为什么训练准确率高而验证准确率低?
- javascript - SlicePipe 角函数
- node.js - hyperledger fabric sdk node orderer, node client在deadline前连接失败
- java - 无法解析到JSP编译中的类型手动部署在tomcat中