From 0d3574efd32dadfee03a0c1b60d50425fc30bef9 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 2 Nov 2017 18:02:25 +0100 Subject: [PATCH] Fix crash in shops. Fixes #847 --- .../fragments/inventory/shops/ShopFragment.kt | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt index cf37c1a39..3c228f0e9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/shops/ShopFragment.kt @@ -35,19 +35,7 @@ class ShopFragment : BaseFragment() { @Inject lateinit var configManager: RemoteConfigManager - private val layoutManager: GridLayoutManager by lazy { - val layoutManager = GridLayoutManager(context, 2) - layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { - override fun getSpanSize(position: Int): Int { - return if (adapter?.getItemViewType(position) ?: 0 < 3) { - layoutManager.spanCount - } else { - 1 - } - } - } - return@lazy layoutManager - } + private var layoutManager: GridLayoutManager? = null override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) @@ -73,6 +61,16 @@ class ShopFragment : BaseFragment() { } if (recyclerView.layoutManager == null) { + layoutManager = GridLayoutManager(context, 2) + layoutManager?.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { + override fun getSpanSize(position: Int): Int { + return if (adapter?.getItemViewType(position) ?: 0 < 3) { + layoutManager?.spanCount ?: 1 + } else { + 1 + } + } + } recyclerView.layoutManager = layoutManager } @@ -168,8 +166,8 @@ class ShopFragment : BaseFragment() { if (spanCount == 0) { spanCount = 1 } - layoutManager.spanCount = spanCount - layoutManager.requestLayout() + layoutManager?.spanCount = spanCount + layoutManager?.requestLayout() } companion object {