Skip to content

Commit 4bf175c

Browse files
authored
SkinAdapter.kt の作成
1 parent 88adf32 commit 4bf175c

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.rabimi.javaskinchanger
2+
3+
import android.graphics.BitmapFactory
4+
import android.view.LayoutInflater
5+
import android.view.View
6+
import android.view.ViewGroup
7+
import android.widget.ImageView
8+
import androidx.recyclerview.widget.RecyclerView
9+
10+
class SkinAdapter(
11+
private var paths: List<String>,
12+
private val onClick: (String) -> Unit
13+
) : RecyclerView.Adapter<SkinAdapter.ViewHolder>() {
14+
15+
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
16+
val imgSkin: ImageView = view.findViewById(R.id.imgSkinItem)
17+
}
18+
19+
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
20+
val view = LayoutInflater.from(parent.context)
21+
.inflate(R.layout.item_skin, parent, false)
22+
return ViewHolder(view)
23+
}
24+
25+
override fun getItemCount(): Int = paths.size
26+
27+
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
28+
val bmp = BitmapFactory.decodeFile(paths[position])
29+
holder.imgSkin.setImageBitmap(Bitmap.createScaledBitmap(bmp, 64, 64, true))
30+
holder.itemView.setOnClickListener { onClick(paths[position]) }
31+
}
32+
33+
fun updateData(newPaths: List<String>) {
34+
paths = newPaths
35+
notifyDataSetChanged()
36+
}
37+
}

0 commit comments

Comments
 (0)