введите описание изображения здесь Я обновляю фотографию профиля пользователя, и она отлично работает во всех видах деятельности, которые я хочу.Но проблема в том, что он не обновляет фотографию профиля пользователя во всех сообщениях, которые уже были размещены пользователем.Я также хочу обновить изображение профиля пользователя.
Это база данных. Ссылка
postRef= FirebaseDatabase.getInstance().getReference().child("posts");
Вот мои настройки просмотра Recycler
FirebaseRecyclerOptions<Posts> options=new FirebaseRecyclerOptions.Builder<Posts>()
.setQuery(postRef,Posts.class)
.build();
FirebaseRecyclerAdapter<Posts,PostsViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Posts, PostsViewHolder>(options)
{
@Override
protected void onBindViewHolder(@NonNull final PostsViewHolder holder, int position, @NonNull final Posts model) {
final String postKey=getRef(position).getKey();
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent clickPostIntent=new Intent(MainActivity.this, ClickPostActivity.class);
clickPostIntent.putExtra("postKey",postKey);
startActivity(clickPostIntent);
}
});
holder.username.setText(model.getFullname());
holder.date.setText(model.getDate());
holder.time.setText(model.getTime());
if (model.getPost_uri_link()!=null){
holder.post_link.setText(model.getPost_uri_link());
}
else {
holder.post_link.setVisibility(View.GONE);
}
if (model.getPost_file_name()!=null && model.getPost_file_uri()!=null) {
holder.file_attach_name.setText(model.getPost_file_name());
holder.file_attach_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
downloadFile(MainActivity.this,model.getPost_file_name(),"gs://studentcornerproject-be4c6.appspot.com/post files",model.getPost_file_uri());
}
});
}
else{
holder.file_attach_name.setVisibility(View.GONE);
}
if (model.getDescription()!=null) {
holder.description.setText(model.getDescription());
}
else {
holder.description.setVisibility(View.GONE);
}
if (model.getPost_img()!=null) {
Picasso.get().load(model.post_img).networkPolicy(NetworkPolicy.OFFLINE).placeholder(android.R.drawable.progress_indeterminate_horizontal).into(holder.post_img, new Callback() {
@Override
public void onSuccess() {
postRef.child("post_img").keepSynced(true);
}
@Override
public void onError(Exception e) {
Picasso.get().load(model.post_img).into(holder.post_img);
}
});
}
else {
holder.post_img.setVisibility(View.GONE);
}
Picasso.get().load(model.getProfile_image()).networkPolicy(NetworkPolicy.OFFLINE).placeholder(R.drawable.profile_icon).into(holder.prof_img, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError(Exception e) {
Picasso.get().load(model.getProfile_image()).into(holder.prof_img);
}
});
}
@NonNull
@Override
public PostsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view= LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.all_posts_users,viewGroup,false);
PostsViewHolder viewHolder=new PostsViewHolder(view);
return viewHolder;
}
};
postslist.setAdapter(firebaseRecyclerAdapter);
firebaseRecyclerAdapter.startListening();
}
public static class PostsViewHolder extends RecyclerView.ViewHolder
{
TextView username,date,time,description,file_attach_name,post_link;
CircleImageView prof_img;
ImageView post_img;
public PostsViewHolder(@NonNull View itemView) {
super(itemView);
post_link=itemView.findViewById(R.id.post_link);
username=itemView.findViewById(R.id.post_user_name);
date=itemView.findViewById(R.id.post_date);
time=itemView.findViewById(R.id.post_time);
description=itemView.findViewById(R.id.post_description);
file_attach_name=itemView.findViewById(R.id.post_filename);
prof_img=itemView.findViewById(R.id.post_profile_img);
post_img=itemView.findViewById(R.id.post_image);
}
Я хочу обновить профильфотография во всех постах, которые он уже опубликовал.