FrameLayout
にRecyclerView
という項目があります。その中にはアップロード/ダウンロードアクションを行うボタンがあります。 onBindViewHolder
ではFrameLayout
タグに一意のIDを割り当て、onViewRecycled()
にはFrameLayout
のタグをnullに再割り当てします。したがって、RecyclerView
の各行には、フレームレイアウトタグに固有のタグ値が含まれている必要があります。View Recycle RecylerView中にFrameLayoutタグを削除する方法
ユーザーがアップロードボタンまたはダウンロードボタンをクリックすると、対応するアクションが実行され、操作が完了したらそれぞれのボタンが消えるはずです。
ので、操作が完了したときに、私はfindViewbyTag(pass the unique identifier)
を使用してビューを見つけ、それが正常に動作し、各ボタン(ボタンはFrameLayout
内にある。私はそれが消えるようにFrameLayout
アルファを変えています)。しかし、それは他のリサイクラの見解項目の中にも消えてしまいます。
以下はFrameLayout
のコードです。 SessionId
は
holder.uploadDownloadContainer.tag = sessionId
onViewRecycled()
各行の一意でダウンロードが完了すると、
val containerView = view?.findViewWithTag(downloadData.sessionId) as? FrameLayout
containerView?.let {
onUiThread {
info("Fading away upload/download button")
containerView.animate().alpha(0f).setDuration(500).start()
}
}
誰かがいただきました!ここで間違って行く、なぜ他の行のアップロード/指し示すことができ、コードの下に
holder.uploadDownloadContainer.tag = null
を持っていますダウンロードボタン(FrameLayout
)も削除中ですか?