geklickt Hallo ich habe etwas ähnlich, ich eine recyclerview hatte und ich brauchte den Hintergrund ändern, wenn ein Element geklickt wurde, was ich getan habe, ist dies: im ViewHolder Konstruktor habe ich eine einfache OnClickListener
:
public NoteViewHolder(View view) {
super(view);
name = view.findViewById(R.id.name);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view.isSelected())
view.setSelected(false);
else
view.setSelected(true);
Log.d(TAG, "Clicked!");
}
});
}
bei An diesem Punkt wird der Status Ihres Objekts zwischen ausgewähltem und nicht ausgewähltem Zustand umgeschaltet. Jetzt können Sie einen Selektor für den Hintergrund, in meinem Fall des Recycler Artikel Layout ist die folgende:
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="nome"
android:gravity="center"
android:background="@drawable/selected_background"
xmlns:android="http://schemas.android.com/apk/res/android"
/>
Während selected_background ist ... na ja ein Wähler! Hier ist sie:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@color/selected"/>
</selector>
Wenn das Element in ausgewählten Zustand wird der Hintergrund wird auf die in den „ausgewählten“ Farbe spezifizierte geändert werden, oder Sie können eine ziehbar, Bild usw. passieren ...
Während Sie den ausgewählten Status für ein Element festlegen, können Sie die anderen Elemente abwählen.
Ich hoffe, es hilft.
ok stell deinen Code ein, um das Problem zu überprüfen – diegoveloper
Ich habe noch keinen Code dafür geschrieben. Ich habe nur Code für das Layout hinter und es funktioniert gut – kinez