Я начинающий программист и использую Android Studio для создания списка с помощью RecyclerView.
Я пытаюсь добавить больше элементов в уже существующий список с помощью кнопки.
FloatingActionButton fab = findViewById(R.id.fab);
fab.setImageResource(R.drawable.plus_icon);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Model m = new Model();
m.setTitle("News");
m.setDescription("This is news.");
m.setImg(R.drawable.plus_icon);
}
});
Это код кнопки. В настоящее время при нажатии он ничего не делает.
public ArrayList<Model> getMyList(){
ArrayList<Model> models = new ArrayList<>();
Model m = new Model();
m.setTitle("News");
m.setDescription("This is news.");
m.setImg(R.drawable.plus_icon);
models.add(m);
return models;
}
Этот код использует ArrayList для создания списка. Я просто скопировал и вставил часть этого в кнопку, потому что я не знаю, как заставить его добавлять элементы.
РЕДАКТИРОВАТЬ: меня попросили добавить код MyAdpater.
package com.example.evaluacioninterna;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
public class MyAdapter extends RecyclerView.Adapter<MyHolder> {
Context c;
ArrayList<Model> models;
public MyAdapter(Context c, ArrayList<Model> models) {
this.c = c;
this.models = models;
}
@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.row, null);
return new MyHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) {
myHolder.mTitle.setText(models.get(i).getTitle());
myHolder.mDes.setText(models.get(i).getDescription());
myHolder.mImaeView.setImageResource(models.get(i).getImg());
}
@Override
public int getItemCount() {
return models.size();
}