Hola, soy un programador novato y estoy usando Android Studio para hacer una lista con RecyclerView.

Estoy tratando de agregar más elementos a una lista ya existente usando un botón.

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);

            }
        });

Este es el código del botón. Actualmente, cuando se presiona no hace nada.

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;

    }

Este código usa ArrayList para crear la lista. Acabo de copiar y pegar parte de él en el botón, porque no sé cómo hacer que agregue elementos.

0
George Reds 1 mar. 2020 a las 05:04

2 respuestas

Pruebe esto :

public class MainActivity  extends AppCompatActivity {

RecyclerView mRecyclerView;
MyAdapter myAdapter;

private ArrayList<Model> mModelList;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    mRecyclerView = findViewById(R.id.recyclerView);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));

    myAdapter = new MyAdapter(this, getMyList());
    mRecyclerView.setAdapter(myAdapter);

    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);
            mModelList.add(m);
            myAdapter.notifyDataSetChanged();

        }
    });
}

public ArrayList<Model> getMyList() {
    mModelList = new ArrayList<Model>();
    Model m = new Model();
    m.setTitle("News");
    m.setDescription("This is news.");
    m.setImg(R.drawable.plus_icon);
    mModelList.add(m);

    return mModelList;

}

}

0
lethanh 1 mar. 2020 a las 02:27

Su pregunta no está claramente explicada por favor edítela

0
Usman Hamidu 1 mar. 2020 a las 02:12