Anonymous
Удалить элемент из Firebase RecyclerView
Сообщение
Anonymous » 24 дек 2024, 00:14
публичный класс ChatFragment расширяет Fragment {
Код: Выделить всё
View chatview;
String CurrentUserID;
FirebaseAuth auth;
String time , date ,CurrentDate;
RecyclerView recyclerView;
DatabaseReference ContactRef,UserRef;
FloatingActionButton floatingActionButton;
List contacts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
chatview =inflater.inflate(R.layout.fragment_chat, container, false);
auth= FirebaseAuth.getInstance();
CurrentUserID=auth.getCurrentUser().getUid();
ContactRef= FirebaseDatabase.getInstance().getReference().child("Contacts").child(CurrentUserID);
UserRef= FirebaseDatabase.getInstance().getReference().child("Users");
recyclerView=chatview.findViewById(R.id.chat_recyclerview);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
floatingActionButton=chatview.findViewById(R.id.chat_float_btn);
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SendtoFindFriendsActivity();
}
});
return chatview;
}
@Override
public void onStart() {
super.onStart();
FirebaseRecyclerOptions options=new FirebaseRecyclerOptions.Builder()
.setQuery(ContactRef,Contacts.class)
.build();
FirebaseRecyclerAdapter adapter=new FirebaseRecyclerAdapter(options) {
@Override
protected void onBindViewHolder(@NonNull ChatViewHolder holder, @SuppressLint("RecyclerView") int position, @NonNull Contacts model) {
String userid=getRef(position).getKey();
final String[] image = {""};
final String[] name = {""};
UserRef.child(userid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.hasChild("image"))
{
image[0] =snapshot.child("image").getValue().toString();
GetImage(image[0], holder.profileImage );
}
name[0] =snapshot.child("name").getValue().toString();
holder.lastSeen.setText("Date"+"Time");
holder.userName.setText(name[0]);
holder.userStatus.setText(snapshot.child("status").getValue().toString());
holder.lastSeen.setVisibility(View.VISIBLE);
if (snapshot.child("userState").hasChild("state"))
{
String state=snapshot.child("userState").child("state").getValue().toString();
date=snapshot.child("userState").child("date").getValue().toString();
time=snapshot.child("userState").child("time").getValue().toString();
if (state.equals("online"))
{
holder.lastSeen.setVisibility(View.INVISIBLE);
holder.online.setVisibility(View.VISIBLE);
}
else if (state.equals("offline"))
{
holder.lastSeen.setVisibility(View.VISIBLE);
holder.online.setVisibility(View.INVISIBLE);
Calendar calendar=Calendar.getInstance();
SimpleDateFormat dateFormat=new SimpleDateFormat("MMM dd,yyyy");
CurrentDate=dateFormat.format(calendar.getTime());
if (CurrentDate.equals(date))
{
holder.lastSeen.setText(time.toLowerCase(Locale.ROOT));
}
else
{
holder.lastSeen.setText(date);
}
}
}
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent chat=new Intent(getActivity(), ChatActivity.class);
chat.putExtra("uid",userid);
chat.putExtra("name",name[0]);
chat.putExtra("image",image[0]);
startActivity(chat);
}
});
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
@NonNull
@Override
public ChatViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.user_display_layout,parent,false);
ChatViewHolder viewHolder=new ChatViewHolder(view);
return viewHolder;
}
};
recyclerView.setAdapter(adapter);
adapter.startListening();
}
public static class ChatViewHolder extends RecyclerView.ViewHolder
{
TextView userName,userStatus,lastSeen;
CircleImageView profileImage;
ImageView online;
public ChatViewHolder(@NonNull View itemView) {
super(itemView);
userName=itemView.findViewById(R.id.user_profile_name);
userStatus=itemView.findViewById(R.id.user_profile_status);
profileImage=itemView.findViewById(R.id.users_profile_image);
userStatus.setVisibility(View.VISIBLE);
lastSeen=itemView.findViewById(R.id.user_profile_lastseen);
lastSeen.setVisibility(View.VISIBLE);
online=itemView.findViewById(R.id.online_icon);
}
}
private void SendtoFindFriendsActivity() {
Intent intent=new Intent(getActivity(), FindFriends.class);
startActivity(intent);
}
private void GetImage(String currentUser, CircleImageView imageView) {
StorageReference storageReference = FirebaseStorage.getInstance().getReference().
child("Profile Images/" + currentUser + ".jpg");
storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(Uri uri) {
Glide.with(getContext()).load(uri).into(imageView);
}
});
}
}
может ли кто-нибудь сказать мне, как я могу удалить элемент из Firebase RecyclerView. Я новичок в разработке Java-приложений, поэтому я столкнулся с проблемой .
Может ли кто-нибудь сказать мне, как я могу удалить элемент из Firebase RecyclerView? Я новичок в разработке Java-приложений, поэтому я столкнулся с проблемой. Может ли кто-нибудь сказать мне, как я могу удалить элемент? из Firebase RecyclerView. Я новичок в разработке Java-приложений, поэтому я столкнулся с проблемой.
Подробнее здесь:
https://stackoverflow.com/questions/711 ... cyclerview
1734988451
Anonymous
публичный класс ChatFragment расширяет Fragment { [code]View chatview; String CurrentUserID; FirebaseAuth auth; String time , date ,CurrentDate; RecyclerView recyclerView; DatabaseReference ContactRef,UserRef; FloatingActionButton floatingActionButton; List contacts; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { chatview =inflater.inflate(R.layout.fragment_chat, container, false); auth= FirebaseAuth.getInstance(); CurrentUserID=auth.getCurrentUser().getUid(); ContactRef= FirebaseDatabase.getInstance().getReference().child("Contacts").child(CurrentUserID); UserRef= FirebaseDatabase.getInstance().getReference().child("Users"); recyclerView=chatview.findViewById(R.id.chat_recyclerview); recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); floatingActionButton=chatview.findViewById(R.id.chat_float_btn); floatingActionButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { SendtoFindFriendsActivity(); } }); return chatview; } @Override public void onStart() { super.onStart(); FirebaseRecyclerOptions options=new FirebaseRecyclerOptions.Builder() .setQuery(ContactRef,Contacts.class) .build(); FirebaseRecyclerAdapter adapter=new FirebaseRecyclerAdapter(options) { @Override protected void onBindViewHolder(@NonNull ChatViewHolder holder, @SuppressLint("RecyclerView") int position, @NonNull Contacts model) { String userid=getRef(position).getKey(); final String[] image = {""}; final String[] name = {""}; UserRef.child(userid).addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { if (snapshot.hasChild("image")) { image[0] =snapshot.child("image").getValue().toString(); GetImage(image[0], holder.profileImage ); } name[0] =snapshot.child("name").getValue().toString(); holder.lastSeen.setText("Date"+"Time"); holder.userName.setText(name[0]); holder.userStatus.setText(snapshot.child("status").getValue().toString()); holder.lastSeen.setVisibility(View.VISIBLE); if (snapshot.child("userState").hasChild("state")) { String state=snapshot.child("userState").child("state").getValue().toString(); date=snapshot.child("userState").child("date").getValue().toString(); time=snapshot.child("userState").child("time").getValue().toString(); if (state.equals("online")) { holder.lastSeen.setVisibility(View.INVISIBLE); holder.online.setVisibility(View.VISIBLE); } else if (state.equals("offline")) { holder.lastSeen.setVisibility(View.VISIBLE); holder.online.setVisibility(View.INVISIBLE); Calendar calendar=Calendar.getInstance(); SimpleDateFormat dateFormat=new SimpleDateFormat("MMM dd,yyyy"); CurrentDate=dateFormat.format(calendar.getTime()); if (CurrentDate.equals(date)) { holder.lastSeen.setText(time.toLowerCase(Locale.ROOT)); } else { holder.lastSeen.setText(date); } } } holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent chat=new Intent(getActivity(), ChatActivity.class); chat.putExtra("uid",userid); chat.putExtra("name",name[0]); chat.putExtra("image",image[0]); startActivity(chat); } }); } @Override public void onCancelled(@NonNull DatabaseError error) { } }); } @NonNull @Override public ChatViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.user_display_layout,parent,false); ChatViewHolder viewHolder=new ChatViewHolder(view); return viewHolder; } }; recyclerView.setAdapter(adapter); adapter.startListening(); } public static class ChatViewHolder extends RecyclerView.ViewHolder { TextView userName,userStatus,lastSeen; CircleImageView profileImage; ImageView online; public ChatViewHolder(@NonNull View itemView) { super(itemView); userName=itemView.findViewById(R.id.user_profile_name); userStatus=itemView.findViewById(R.id.user_profile_status); profileImage=itemView.findViewById(R.id.users_profile_image); userStatus.setVisibility(View.VISIBLE); lastSeen=itemView.findViewById(R.id.user_profile_lastseen); lastSeen.setVisibility(View.VISIBLE); online=itemView.findViewById(R.id.online_icon); } } private void SendtoFindFriendsActivity() { Intent intent=new Intent(getActivity(), FindFriends.class); startActivity(intent); } private void GetImage(String currentUser, CircleImageView imageView) { StorageReference storageReference = FirebaseStorage.getInstance().getReference(). child("Profile Images/" + currentUser + ".jpg"); storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(Uri uri) { Glide.with(getContext()).load(uri).into(imageView); } }); } [/code] } может ли кто-нибудь сказать мне, как я могу удалить элемент из Firebase RecyclerView. Я новичок в разработке Java-приложений, поэтому я столкнулся с проблемой . Может ли кто-нибудь сказать мне, как я могу удалить элемент из Firebase RecyclerView? Я новичок в разработке Java-приложений, поэтому я столкнулся с проблемой. Может ли кто-нибудь сказать мне, как я могу удалить элемент? из Firebase RecyclerView. Я новичок в разработке Java-приложений, поэтому я столкнулся с проблемой. Подробнее здесь: [url]https://stackoverflow.com/questions/71115712/remove-item-from-firebase-recyclerview[/url]