۲ محمد باقر ملایی
نگه داشتن state فرگمنت
وحید گروسی حل شده توسط وحید گروسی

سلام استاد
میخواستم بدونم چطور میشه state فرگمنت رو نگه داشت
با تشکر

سلام محمد باقر جان با استفاده از یک متغیر به اسم rootView و بررسی اینکه آیا متغیر برابر نال هست یا نه و در غیر اینصورت مقدار دهیش

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
abstract class BaseFragment : Fragment() {
    abstract val getLayoutRes: Int
    abstract fun setupViews()
    private lateinit var rootView: View
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        if (rootView == null) {
            rootView = inflater.inflate(getLayoutRes, container, false)
        }
        return rootView
    }
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        setupViews()
    }
}

البته با Navigation Component این مورد هندل میشه

بهترین پاسخ
وحید گروسی ۱۱ اردیبهشت ۱۳۹۹، ۱۵:۵۰

وحید جان کانسپتو گرفتم ولی کاتلین رو نه :)

محمد باقر ملایی ۱۵ اردیبهشت ۱۳۹۹، ۰۶:۳۴