-1

私はちょっとした問題を抱えています。どのようにRecyclerView内の特定の行からデータを取得するのですか?

RecyclerViewで行をクリックすると、色を他の色(赤色)に変更したいと思います。
次に、この行をもう一度クリックすると、その色を通常の色(つまり白)に戻したいと考えています。
次に、2番目の行またはn番目の行をクリックすると、同じことをしたいと思います。

私はViewHolderでRecyclerView Adapterクラスを操作しようとしましたが、ユーザーのクリック数をカウントし、色付けされた行をチェックするブール値を設定し、行の位置を知るためにgetAdapterPositionを設定しました私の試行はすべて失敗しました!

この問題を解決してもらえますか?

単にビューにそれ以外の場合はすべての変更(私はあなたが項目がリストで選択されたを追跡する必要があるとしているソリューションに近いんだけど、少しの助け

+0

についてはこちらを参照してください。 –

答えて

0

を必要とすることになるようですリサイクルされる)。

アダプタ内で選択した項目のリストを保存します。アダプタのonBindViewHolderでは、リストに対してチェックすることができ、リストにビュー/項目が含まれている場合は、それに応じてビューの色を付けることができます。

編集: `StateList Selector`がお手伝いします作業例 How to properly highlight selected item on RecyclerView?

+0

'holder.itemsParent.setOnClickListener(新しいView.OnClickListener(){ @Override公共ボイドのonClick(ビュービュー){ mylist.add(holder.serviceNameAdded.getText()のtoString());} }) ; ' このような場合は、行のクリックがすべてリストに追加されると思います ユーザーの最初のクリックと2回目のクリックはどのように処理できますか? –

+0

あなたのonClickListenerをアダプターに渡して、各ビューでアダプターを設定する必要があります – jak10h

+0

[https://ideone.com/FLsH0F] お願いします。 私はそれが私の古い解決策だと思う –

関連する問題