From c49e5e1e8bab9b3c596daee5252ac116a3158f71 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Thu, 10 Dec 2020 14:47:24 +0100 Subject: [PATCH] update fragments to viewBinding --- .../components/LoaderDialogFragment.kt | 22 ++++++++++----- .../components/ScreenSlidePageFragment.kt | 27 ++++++++++++------- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt index 9f64cda2..423fea32 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt @@ -5,8 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.DialogFragment -import kotlinx.android.synthetic.main.fragment_loader.* -import net.pokeranalytics.android.R +import net.pokeranalytics.android.databinding.FragmentLoaderBinding class LoaderDialogFragment: DialogFragment() { @@ -31,15 +30,26 @@ class LoaderDialogFragment: DialogFragment() { } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.fragment_loader, container, false) - } + private var _binding: FragmentLoaderBinding? = null + private val binding get() = _binding!! + + // Life Cycle + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + _binding = FragmentLoaderBinding.inflate(inflater, container, false) + return binding.root + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) arguments?.let {bundle -> if (bundle.containsKey(ARGUMENT_MESSAGE_RES_ID)) { - loadingMessage.text = getString(bundle.getInt(ARGUMENT_MESSAGE_RES_ID)) + binding.loadingMessage.text = getString(bundle.getInt(ARGUMENT_MESSAGE_RES_ID)) } } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/ScreenSlidePageFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/ScreenSlidePageFragment.kt index 2dfa00ef..94d6f839 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/ScreenSlidePageFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/ScreenSlidePageFragment.kt @@ -4,8 +4,8 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import kotlinx.android.synthetic.main.fragment_screen_slide_page.* import net.pokeranalytics.android.R +import net.pokeranalytics.android.databinding.FragmentScreenSlidePageBinding import net.pokeranalytics.android.exceptions.PAIllegalStateException @@ -31,20 +31,29 @@ class ScreenSlidePageFragment : BaseFragment() { } - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View = inflater.inflate(R.layout.fragment_screen_slide_page, container, false) + private var _binding: FragmentScreenSlidePageBinding? = null + private val binding get() = _binding!! + + // Life Cycle + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + _binding = FragmentScreenSlidePageBinding.inflate(inflater, container, false) + return binding.root + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val bundle = arguments ?: throw PAIllegalStateException("No bundle found") - this.icon.setImageResource(bundle.getInt(BundleKey.ICON.key)) - this.title.text = requireContext().getString(bundle.getInt(BundleKey.TITLE.key)) - this.description.text = requireContext().getString(bundle.getInt(BundleKey.DESCRIPTION.key)) + binding.icon.setImageResource(bundle.getInt(BundleKey.ICON.key)) + binding.title.text = requireContext().getString(bundle.getInt(BundleKey.TITLE.key)) + binding.description.text = requireContext().getString(bundle.getInt(BundleKey.DESCRIPTION.key)) } /**