This is my class file
public class Gallery extends AppCompatActivity {
RecyclerView mRecyclerView;
FirebaseDatabase mfirebaseDatabase;
DatabaseReference mRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gallery);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("Upload Image");
mRecyclerView = findViewById(R.id.recyclerView);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mfirebaseDatabase = FirebaseDatabase.getInstance();
mRef = mfirebaseDatabase.getInstance().getReference().child("uploads");
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerOptions options =
new FirebaseRecyclerOptions.Builder<Model>()
.setQuery(mRef, Model.class)
.build();
FirebaseRecyclerAdapter<Model, ViewHolder> firebaseRecyclerAdapter =
new FirebaseRecyclerAdapter<Model, ViewHolder>(options) {
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row,parent,false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
protected void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull Model model) {
holder.mNameTv.setText(model.getName());
Picasso.get().load(model.getImageUrl()).into(holder.mImageTv);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(),Gallery.class);
startActivity(intent);
}
});
}
};
mRecyclerView.setAdapter(firebaseRecyclerAdapter);
firebaseRecyclerAdapter.startListening();
}
}
This is View Holder class
public class ViewHolder extends RecyclerView.ViewHolder {
TextView mNameTv;
ImageView mImageTv;
public ViewHolder(@NonNull View itemView) {
super(itemView);
mNameTv = itemView.findViewById(R.id.rNameView);
mImageTv = itemView.findViewById(R.id.rImageView);
}
}
The Model Class
public class Model {
private String name, imageUrl;
public Model(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImageUrl() {
return imageUrl;
}
public void setImageUrl(String imageUrl) {
this.imageUrl = imageUrl;
}
}
Database Structure
uploads
-M0t2TyhLy56C0dLhMKG
imageUrl: "com.google.android.gms.tasks.zzu@bdeba15"
name: "CAT"
uploads is a parent node and next is a child node which stores value imageUrl and name
When I execute this code there are no errors found at runtime and neither in logcat, but still there is no image loaded on the ImageView.