Изменение текста в 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);
}