Вот код модели:
Код: Выделить всё
public class Subscription {
public String name;
public String frequency;
public Date startDate;
public String reminder;
public float cost;
public String email;
public String password;
public Subscription (){
}
public Subscription(String name, String frequency, Date startDate, String reminder, float cost, String email, String password)
{
this.name = name;
this.frequency = frequency;
this.startDate = startDate;
this.reminder = reminder;
this.cost = cost;
this.email = email;
this.password = password;
}
public String getSubName() {return name;}
public String getFrequency() {return frequency;}
public Date getStartDate() {return startDate;}
public String getReminder() {return reminder;}
public float getCost() {return cost;}
public String getEmail() {return email;}
public String getPassword() {return password;}
}
Код: Выделить всё
public class SubAdapter extends RecyclerView.Adapter {
Context context;
ArrayList subscriptions;
public SubAdapter(Context context, ArrayList subscriptions) {
this.context = context;
this.subscriptions = subscriptions;
}
@NonNull
@Override
public SubAdapter.Subholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(context).inflate(R.layout.mainviewlist,parent ,false);
return new Subholder(v);
}
@Override
public void onBindViewHolder(@NonNull SubAdapter.Subholder holder, int position) {
Subscription subs = subscriptions.get(position);
holder.subName.setText(subs.getSubName());
}
@Override
public int getItemCount() {
return subscriptions.size();
}
public static class Subholder extends RecyclerView.ViewHolder{
public TextView subName;
public Subholder(@NonNull View itemView) {
super(itemView);
subName = (TextView) itemView.findViewById(R.id.MVL_text);
}
}
}
Код: Выделить всё
public class MainActivity extends AppCompatActivity {
Button AddSub = null;
FirebaseFirestore subDB;
RecyclerView recyclerView;
ArrayList Subarraylist;
SubAdapter subAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
AddSub = (Button) findViewById(R.id.AM_AddSubBtn);
AddSub.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
Intent intent = new Intent(MainActivity.this, AddSubscriptionActivity.class);
startActivity(intent);
}
});
subDB = FirebaseFirestore.getInstance();
recyclerView = findViewById(R.id.MA_recycleView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
Subarraylist = new ArrayList();
subAdapter = new SubAdapter(MainActivity.this , Subarraylist );
recyclerView.setAdapter(subAdapter);
Eventchangelistener();
}
private void Eventchangelistener() {
FirebaseAuth tempAuth;
tempAuth = FirebaseAuth.getInstance();
FirebaseUser userGet = tempAuth.getCurrentUser();
assert userGet != null;
String userEmail = userGet.getEmail();
subDB.collection("subscriptions").document(userEmail).collection("subscriptions").addSnapshotListener(new EventListener() {
@Override
public void onEvent(@Nullable QuerySnapshot value, @Nullable FirebaseFirestoreException error) {
if(error != null){
Log.e("Error" ,error.getMessage());
return;
}
Subarraylist.clear();
for(DocumentChange dc : value.getDocumentChanges()){
if(dc.getType() == DocumentChange.Type.ADDED){
Subarraylist.add(dc.getDocument().toObject(Subscription.class));
}
subAdapter.notifyDataSetChanged();
}
}
});
}
введите сюда описание изображения
Я уже пробовал много методов, но ничего не помогает. Надеюсь, вы, ребята, дадите мне несколько советов, я очень ценю это.
Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-the-it