2017-05-05 4 views
0

markiert, machen Wir verwenden eine Recyclerview, die fünf Zeilen hat. In jeder Zeile können wir Bildansicht und Textansicht einstellen. Wir möchten, dass eine bestimmte Position von recyclerview item (also Textview) standardmäßig markiert wird. Wenn wir auf eine andere Position in recyclerview klicken, sollte diese Markierung von der Standardposition zur ausgewählten Position wechseln. Wenn wir erneut auf eine andere Position klicken, wird die Markierung hervorgehoben sollte sich von vorher angeklickter Position zu neuer ändern. Kann jemand bitte uns vorschlagen, wie man das macht.Wie man eine bestimmte Position des Recyclerview-Elements, wie standardmäßig in Android

Vielen Dank im Voraus.

+0

Post etwas, das Sie ausprobiert haben. Das wird uns helfen. – DharanBro

Antwort

1

Sie benötigen einen int selectedPos = 0; im RecyclerView Adapter Klasse haben, und im Inneren onBindViewHolder Methode wie folgt vor:

@Override 
public void onBindViewHolder(ViewHolder viewHolder, int position) { 
    viewHolder.itemView.setSelected(selectedPos == position); 

} 

in Ihrem OnClick Ereignis implementieren:

@Override 
public void onClick(View view) { 
    notifyItemChanged(selectedPos); 
    selectedPosition = getLayoutPosition(); 
    notifyItemChanged(selectedPos); 
} 

dies sollten Sie Idee geben implementieren, was Sie planen.

+0

Vielen Dank für Ihren Vorschlag. Wir haben Code-Snippet wie oben erwähnt ausprobiert. Es funktioniert nur zum Umschalten von Recyclerview-Elementen. Es funktioniert standardmäßig nicht für bestimmte Recyclerview-Elemente als Hervorhebungen. –

Verwandte Themen