Android 图像未显示在Imageview中(在选项卡式活动中的Fragent内部、ViewPager内部)-毕加索未替换占位符
我有一个选项卡式活动,每个选项卡包含一个带有recyclerView的片段。recyclerView中的一项由一个图像和一个文本组成,这两个文本都是从Firebase实时数据库获取的 一切似乎都很好,没有错误,但当我运行应用程序时,名称被提取并显示,图像没有 帮忙? 提前谢谢你 这是碎片Android 图像未显示在Imageview中(在选项卡式活动中的Fragent内部、ViewPager内部)-毕加索未替换占位符,android,firebase,android-fragments,android-recyclerview,picasso,Android,Firebase,Android Fragments,Android Recyclerview,Picasso,我有一个选项卡式活动,每个选项卡包含一个带有recyclerView的片段。recyclerView中的一项由一个图像和一个文本组成,这两个文本都是从Firebase实时数据库获取的 一切似乎都很好,没有错误,但当我运行应用程序时,名称被提取并显示,图像没有 帮忙? 提前谢谢你 这是碎片 import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.
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);
}
}```
导入android.os.Bundle;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入androidx.annotation.NonNull;
导入androidx.fragment.app.fragment;
导入androidx.recyclerview.widget.LinearLayoutManager;
导入androidx.recyclerview.widget.recyclerview;
导入com.andrei.bucatariadebuzunar.Clases.ImageUploadInfo;
导入com.andrei.bucatariadebuzunar.Clases.ImageUploadInfoViewHolder;
进口公司andrei.bucatariadebuzunar.R;
导入com.firebase.ui.database.FirebaseRecyclerAdapter;
导入com.firebase.ui.database.FirebaseRecyclerOptions;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.squareup.picasso.picasso;
公共类FripturiFragment扩展了片段{
公共回收视图回收视图;
私有数据库参考数据库参考;
FirebaseRecyclerOptions选项;
火基回收器适配器;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.fragment\u布局,容器,false);
databaseReference=FirebaseDatabase.getInstance().getReference().child(“配方\图像”).child(“Fripturi”);
databaseReference.keepSynced(true);
RecycleView=rootView.findViewById(R.id.RecycleServiceWrecipes);
recyclerView.setHasFixedSize(true);
setLayoutManager(新的LinearLayoutManager(getContext());
LoadData();
返回rootView;
}
私有void LoadData(){
options=new FirebaseRecyclerOptions.Builder().setQuery(databaseReference,ImageUploadInfo.class).build();
适配器=新的FirebaseRecyclerAdapter(选项){
@凌驾
受保护的无效onBindViewHolder(@NonNull ImageUploadInfoViewHolder ImageUploadInfoViewHolder,int位置,@NonNull ImageUploadInfo模型){
imageUploadInfoViewHolder.textView.setText(model.getImageName());
Picasso.get().load(model.getImageURL()).placeholder(R.drawable.hat).into(imageUploadInfoViewHolder.imageView);
}
@非空
@凌驾
public ImageUploadInfoViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
View View=LayoutInflater.from(parent.getContext()).flate(R.layout.recipe\u card\u视图,parent,false);
返回新的ImageUploadInfoViewHolder(视图);
}
};
adapter.startListening();
recyclerView.setAdapter(适配器);
}
}```
毕加索无法识别此URL格式,因此无法显示图像
StorageReference ref = storage.getReferenceFromUrl(url);
storageRef.child("Recipes_Images").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
//set your image
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle any errors
}
});
StorageReference=storage.getReferenceFromUrl(url);
storageRef.child(“Recipes_Images”).getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
//树立你的形象
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理任何错误
}
});