Изменение текста в CardView

У меня есть RecyclerView забитый карточками. Когда пользователь нажимает на кнопку - текст с нее должен попадать в текстовое поле карточки (кнопка 1 в 1 первое поле и т.д.). Не понимаю, в чем проблема у меня?

   public class MainActivity extends AppCompatActivity {

    private RecyclerView  recyclerView;
    private RecyclerView.Adapter adapter;
    private RecyclerView.LayoutManager layoutManager;

    private Button but1;

    private String bufer;
    public String getBufer() {
        return bufer;
    }
    public void setBufer(String bufer) {
        this.bufer = bufer;
    }
    private ArrayList<RecycleElement> recycleList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        but1 = findViewById(R.id.but1);

        but1.setBackgroundColor(Color.CYAN);

        recycleList.add(new RecycleElement (R.drawable.tamplatetfore,
                getBufer()));


        recyclerView = findViewById(R.id.recycle);
        recyclerView.setHasFixedSize(true);
        adapter = new RecycleAdapter(recycleList);
        layoutManager = new LinearLayoutManager(this);

        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(layoutManager);
    }

    public void ClikMe(View v){
        but1.setBackgroundColor(Color.RED);
        setBufer((String) but1.getText());
    }

 }


Ответы (1 шт):

Автор решения: Circassian

Вам нужно изменить соответствующий элемент списка и вызвать метод adapter.notifyItemChanged()

public void ClikMe(View v){
    but1.setBackgroundColor(Color.RED);

    recycleList.get(0).text = (String) but1.getText();
    adapter.notifyItemChanged(0);
}
→ Ссылка