Я хотел бы знать, как заполнить эту область просмотра только данными текущего вошедшего в систему пользователя, получающего данные из firebase. Я понятия не имею, с чего начать.
public class UsersViewHolder extends RecyclerView.Adapter<UsersViewHolder.ViewHolder> {
private Context context;
private List<Users> UserList;
public UsersViewHolder(Context context, List<Users> uList) {
this.context = context;
this.UserList = ulist;
}
@Override
public UsersViewHolder.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).
inflate(R.layout.activity_mydetails,parent,false);
return new UsersViewHolder.ViewHolder(view ,context);
}
@Override
public void onBindViewHolder(UsersViewHolder.ViewHolder holder, final int position) {
final Users users =UserList.get(position);
holder.UserFirstName.setText(users.getUserfirstname());
holder.UserSurname.setText(users.getUserlastname());
holder.UserAddress.setText(users.getUseraddress());
holder.UserPostcode.setText(users.getUserpostcode());
holder.UserColourPreference.setText(users.getUsercolourpreference());
holder.UserShoeSize.setText(users.getUsershoesize());
holder.UserTopSize.setText(users.getUsertopsize());
holder.UserWaistSize.setText(users.getUserwaistsize());
}
@Override
public int getItemCount() {
return UserList.size();//Returns all values
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView UserFirstName,UserSurname,UserAddress,UserPostcode,UserColourPreference,UserShoeSize,UserTopSize,UserWaistSize;
String Userid;
public ViewHolder(View view,Context state){
super (view);
context =state;
UserFirstName = view.findViewById(R.id.FirstNameID);
UserSurname =view.findViewById(R.id.SurnameID);
UserAddress =view.findViewById(R.id.AddressID);
UserPostcode=view.findViewById(R.id.PostcodeID);
UserColourPreference=view.findViewById(R.id.ColourPreferenceSpinnerID);
UserShoeSize=view.findViewById(R.id.ShoeSizeSpinnerID);
UserTopSize=view.findViewById(R.id.TopSizeSpinnerID);
UserWaistSize=view.findViewById(R.id.WaistSizeSpinnerID);
Userid = null;
}
}
}
Адаптер
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mydetails);
FirebaseUserAuthentication = FirebaseAuth.getInstance();
FirebaseUserLoggedIn= FirebaseUserAuthentication.getCurrentUser();
UserDatabase = FirebaseDatabase.getInstance();
UserDatabaseref = UserDatabase.getReference().child("Threads Users");
UserDatabaseref.keepSynced(true);
UserDetails = new ArrayList<>();
PopulateListView = findViewById(R.id.RecyclerViewOBJ);
PopulateListView.setHasFixedSize(true);
PopulateListView.setLayoutManager(new LinearLayoutManager(this));
//PopulateListView.setReverseLayout(True);
}
@Override
protected void onStart()
{
super.onStart();
UserDatabaseref.addChildEventListener(new ChildEventListener()
{
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Users details = dataSnapshot.getValue(Users.class);
UserDetails.add(details);
Collections.reverse(UserDetails);
Uviewholder = new UsersViewHolder(mydetails.this,UserDetails);
PopulateListView.setAdapter(Uviewholder);
Uviewholder.notifyDataSetChanged();
}