如何在Java/Kotlin中使用新的StateRestorationPolicy?

如何在Java/Kotlin中使用新的StateRestorationPolicy?,java,android,kotlin,Java,Android,Kotlin,由于这个主题比较新,有人能告诉我如何使用这个功能吗? 我试图把它用在一个片段中 override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { ... Handler().postDelayed({ homePostAdapter!!.stateRestorationPolicy =

由于这个主题比较新,有人能告诉我如何使用这个功能吗? 我试图把它用在一个片段中

 override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
...
Handler().postDelayed({
        homePostAdapter!!.stateRestorationPolicy =
            RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY
    },500)
...
}
好像不是这样的。很高兴粘贴完整的片段类

以下链接有助于以后阅读:


  • 您需要将其添加到gradle文件中

    implementation "androidx.recyclerview:recyclerview:1.2.0-alpha04"
    

    不要再拖延了。您只需在初始化列表适配器之后设置
    stateRestorationPolicy

     listAdapter = ListAdapter()
    
     // Set scroll restore policy
     listdapter.stateRestorationPolicy =
          RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY
    

    也许这对你有用

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)
            val binding = FragmentMovieActionBinding.bind(view)
            val pagingAdapter =PagingAdapter(lifecycleScope)
            binding.apply {
                rvListTypesMovies.apply {
                    adapter= pagingAdapter
                    pagingAdapter.stateRestorationPolicy =  RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY
                    layoutManager =GridLayoutManager(requireContext(), 2)
                    setHasFixedSize(true)
    

    我使用数据绑定和流。

    这不是我想要的。请阅读问题。你知道如何在片段中使用它吗?你的回答对我很有用