问题描述
我有一个选项卡式活动,每个选项卡都包含一个带有recyclerView的片段。 recyclerView中的一个项目由带有文本的图像组成,两者均从Firebase实时数据库中获取。
一切似乎都正常,没有错误,但是当我运行该应用程序时,会提取并显示名称,而不显示图像。
here is the database structure from 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;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)