Android Studio: 帮助... LiveData在不同的片段中保持不同的值
创始人
2024-08-17 01:00:08
0

要实现在不同的片段中保持不同的 LiveData 值的功能,可以通过使用 ViewModel 来实现。

首先,创建一个继承自 ViewModel 的类,用于保存 LiveData 的值。例如:

class MyViewModel : ViewModel() {
    val liveData1 = MutableLiveData()
    val liveData2 = MutableLiveData()
}

在每个片段中,通过获取共享的 ViewModel 实例来访问 LiveData 的值。例如:

class Fragment1 : Fragment() {
    private val viewModel: MyViewModel by activityViewModels()

    // 在此片段中使用 liveData1
    // ...
}

class Fragment2 : Fragment() {
    private val viewModel: MyViewModel by activityViewModels()

    // 在此片段中使用 liveData2
    // ...
}

在每个片段中,可以通过监听 LiveData 的变化来更新 UI。例如:

class Fragment1 : Fragment() {
    private val viewModel: MyViewModel by activityViewModels()

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        viewModel.liveData1.observe(viewLifecycleOwner, { value ->
            // 当 liveData1 的值发生变化时,更新 UI
            // ...
        })
    }
}

在 Activity 中,使用 ViewModelProvider 来创建和获取 ViewModel 实例。例如:

class MainActivity : AppCompatActivity() {
    private lateinit var viewModel: MyViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
    }
}

通过这种方式,不同的片段可以独立地设置和获取 LiveData 的值,而不会相互影响。

相关内容

热门资讯

透视解迷"pokem... 透视解迷"pokemmo手机辅助软件"好像有辅助神器(哔哩哔哩)1)pokemmo手机辅助软件辅助插...
透视揭幕"we-po... 透视揭幕"we-poker软件"切实有辅助挂(哔哩哔哩)1、点击下载安装,we-poker软件脚本分...
透视专业"wepok... 透视专业"wepoker有辅助吗"好像真的是有辅助教程(哔哩哔哩)1、点击下载安装,wepoker有...
透视详情"wepok... 透视详情"wepoker可以开透视吗"其实是真的辅助脚本(哔哩哔哩)1、操作简单,无需wepoker...
透视分享"wepok... 透视分享"wepoker是不是有人用挂"总是存在有辅助软件(哔哩哔哩)1、点击下载安装,wepoke...
透视详细"购买的wp... 透视详细"购买的wpk辅助在哪里下载"一贯真的有辅助工具(哔哩哔哩)1、超多福利:超高返利,海量正版...
透视普及"wepok... 透视普及"wepoker透视版下载"好像存在有辅助软件(哔哩哔哩)1、实时wepoker透视版下载透...
透视揭露"pokem... 透视揭露"pokemmo脚本最新版"其实是真的辅助软件(哔哩哔哩)小薇(辅助器软件下载)致您一封信;...
透视开挂"poker... 透视开挂"poker world辅助"本来是真的辅助插件(哔哩哔哩)在进入poker world辅助...
透视解谜"wpk安卓... 透视解谜"wpk安卓下载辅助"切实真的是有辅助攻略(哔哩哔哩)1)wpk安卓下载辅助免费钻石:进一步...