Skip to content

Commit

Permalink
♻️ change viewholder for Category feed
Browse files Browse the repository at this point in the history
  • Loading branch information
Hogu59 committed Feb 21, 2025
1 parent 0299984 commit defdc56
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class CategoryFragment : Fragment() {
savedInstanceState: Bundle?,
) {
super.onViewCreated(view, savedInstanceState)
AnalyticsLogging.init(requireContext()) // Firebase Analytics 초기화
AnalyticsLogging.init(requireContext())
AnalyticsLogging.viewLogEvent("Category")
initializeAdapter()
setUpCategories()
Expand All @@ -49,12 +49,11 @@ class CategoryFragment : Fragment() {
layoutManager.apply {
spanSizeLookup =
object : GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
return when (position) {
override fun getSpanSize(position: Int): Int =
when (position) {
0 -> 3
else -> 1
}
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,23 @@ import androidx.paging.PagingDataAdapter
import androidx.recyclerview.widget.DiffUtil
import net.pengcook.android.databinding.ItemFeedBinding
import net.pengcook.android.presentation.core.model.RecipeForList
import net.pengcook.android.presentation.home.holder.FeedViewHolder
import net.pengcook.android.presentation.home.listener.FeedItemEventListener

class CategoryFeedListAdapter(
private val eventListener: FeedItemEventListener,
) :
PagingDataAdapter<RecipeForList, FeedViewHolder>(diffCallback) {
PagingDataAdapter<RecipeForList, CategoryFeedViewHolder>(diffCallback) {
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int,
): FeedViewHolder {
): CategoryFeedViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val binding = ItemFeedBinding.inflate(layoutInflater, parent, false)
return FeedViewHolder(binding, eventListener)
return CategoryFeedViewHolder(binding, eventListener)
}

override fun onBindViewHolder(
holder: FeedViewHolder,
holder: CategoryFeedViewHolder,
position: Int,
) {
val item = getItem(position) ?: return
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package net.pengcook.android.presentation.category.list

import androidx.recyclerview.widget.RecyclerView
import net.pengcook.android.databinding.ItemFeedBinding
import net.pengcook.android.presentation.core.model.RecipeForList
import net.pengcook.android.presentation.home.listener.FeedItemEventListener

class CategoryFeedViewHolder(
private val binding: ItemFeedBinding,
private val eventListener: FeedItemEventListener,
) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: RecipeForList) {
binding.recipe = item
binding.eventListener = eventListener
binding.executePendingBindings()
}
}

0 comments on commit defdc56

Please sign in to comment.