Error
package uz.rtm.digitalgenerationbootcamp;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.squareup.picasso.Picasso;
public class FragmentHome extends Fragment {
private View HomeView;
private RecyclerView myHomeList;
private DatabaseReference HomeRef, UsersRef;
private FirebaseAuth mAuth;
private String currentUserID;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
HomeView = inflater.inflate(R.layout.fragment_home, container, false);
myHomeList = (RecyclerView) HomeView.findViewById(R.id.home_list);
myHomeList.setLayoutManager(new LinearLayoutManager(getContext()));
mAuth = FirebaseAuth.getInstance();
currentUserID = mAuth.getCurrentUser().getUid();
HomeRef = FirebaseDatabase.getInstance().getReference().child("HomeModul").child(currentUserID);
UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");
return HomeView;
}
@Override
public void onStart() {
super.onStart();
FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder<HomeModul>()
.setQuery(HomeRef, HomeModul.class).build();
FirebaseRecyclerAdapter<HomeModul, HomeViewHolder> adapter = new FirebaseRecyclerAdapter<HomeModul, HomeViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final HomeViewHolder holder, int position, @NonNull HomeModul homeModul) {
String usersIDs = getRef(position).getKey();
UsersRef.child(usersIDs).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapchot) {
if (dataSnapchot.hasChild("image"))
{
String userImage = dataSnapchot.child("image").getValue().toString();
String profileName = dataSnapchot.child("name").getValue().toString();
String profileStatus = dataSnapchot.child("status").getValue().toString();
holder.userName.setText(profileName);
holder.userStatus.setText(profileStatus);
Picasso.get().load(userImage).placeholder(R.drawable.user_home).into(holder.profileImage);
}
else
{
String profileName = dataSnapchot.child("name").getValue().toString();
String profileStatus = dataSnapchot.child("status").getValue().toString();
holder.userName.setText(profileName);
holder.userStatus.setText(profileStatus);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
@NonNull
@Override
public HomeViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.data_display_home, viewGroup, false);
HomeViewHolder viewHolder = new HomeViewHolder(view);
return viewHolder;
}
};
myHomeList.setAdapter(adapter);
adapter.startListening();
}
public static class HomeViewHolder extends RecyclerView.ViewHolder
{
TextView userName, userStatus;
ImageView profileImage;
public HomeViewHolder(@NonNull View itemView)
{
super(itemView);
userName = itemView.findViewById(R.id.user_name_home);
userStatus = itemView.findViewById(R.id.user_status_home);
profileImage = itemView.findViewById(R.id.img_home);
}
}
}