我已经设法在片段之间切换,但在输入新片段时,当前片段上的更改不适用.我有两个片段,HomeFragment
和Subreddit
.当我第一次运行这个应用程序时,它显示HomeFragment
,即显示r/aww
个内容.如果我点击操作栏,它会变成subreddit片段.在Subreddit
片段中,我可以单击子reddit类别(例如r/sports
、r/news
等).在我点击子reddit类别后,片段再次变为HomeFragment
,它应该显示我刚刚 Select 的subreddit类别的内容,但它没有.我在Subreddit
片段中 Select 了r/news
,但当我运行我的应用程序时,它仍然显示第一个子reddit类别,即r/aww
.
这是我的SubredditListAdapter.kt
美元
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH {
val binding = RowSubredditBinding.inflate(LayoutInflater.from(parent.context),
parent, false)
val holder = VH(binding)
return holder
}
以下是我的HomeFragment.kt
条:
class HomeFragment: Fragment() {
private val viewModel: MainViewModel by viewModels()
private var _binding: FragmentRvBinding? = null
private val binding get() = _binding!!
companion object {
fun newInstance(): HomeFragment {
return HomeFragment()
}
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_binding = FragmentRvBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Log.d(javaClass.simpleName, "onViewCreated")
initAdapter(binding)
}
}
我以为使用updateNewCategory
和observeNewCategory
会改变subreddit类别,但事实证明并非如此.如何更新类别并应用更改?