【发布时间】:2022-01-26 05:40:22
【问题描述】:
在我的应用中,顶部栏包含 2 个单选按钮(提要、最近)的单选按钮组。 在此下方,我有 recyclerview(rv),它显示来自 API 的数据。
如果我点击 feed 按钮,rv 正在加载来自 API 的 feed 数据,如果我点击最近按钮,rv 正在加载来自 API 的最近数据。
现在,如果我在 feed 部分向下滚动并转到最近并向下滚动到最近的部分并返回到 feed 部分,它正在重新加载数据并且最后滚动的索引丢失。
在我切换到最近的部分之前,如何防止这种情况并显示完全相同的提要数据?
HomeFragment 的代码:
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
// Inflate the layout for this fragment
view_root = inflater.inflate(R.layout.fragment_home, container, false)
init()
mcontext = this.requireActivity()
prefHandler = PrefHandler(mcontext)
feedRecentRadioGroup.check(feedRecentRadioGroup.getChildAt(0).id)
setFeedData()
feedRecentRadioGroup.setOnCheckedChangeListener { group, checkedId ->
when (checkedId) {
R.id.feedRadioBtn -> {
setFeedData()
}
R.id.recentRadioBtn -> {
setRecentData()
}
}
}
...
setFeedData() 和 setRecentData() -> 在这个函数中,进行单独的 API 调用,并将数据加载到 recyclerview -> 两个部分都可以正常工作。
Homefragment的布局
【问题讨论】:
-
请分享代码。
-
添加了代码..如果还需要什么,请告诉我。谢谢。
标签: android api android-recyclerview android-radiobutton