🔥 کمپین سال عزتتا پایان اردیبهشت ادامه دارد (در این روزهای سخت در کنار شما هستیم)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ محمد باقر ملایی
نگه داشتن 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 این مورد هندل میشه

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

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

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