【发布时间】:2021-08-10 11:13:59
【问题描述】:
朋友们,我有一个问题。我可以在活动中使用图像中的片段。但我希望能够在不同的活动中查看这个片段。可能吗?我使用了图像中的结构,但我也在写我收到的错误。如果您能提供帮助,我会很高兴。
BreakingNewsFragment.kt
class BreakingNewsFragment : Fragment(R.layout.fragment_breaking_news) {
lateinit var viewModel: NewsViewModel
lateinit var viewModel2:NewsViewModel
lateinit var newsAdapter: NewsAdapter
val TAG = "BreakingNewsFragment"
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel = (activity as NewsActivity).viewModel
viewModel2=(activity as UsNewsActivity).viewModel
setupRecyclerView()
newsAdapter.setOnItemClickListener {
val bundle = Bundle().apply {
putSerializable("article", it)
}
findNavController().navigate(
R.id.action_breakingNewsFragment_to_articleFragment,
bundle
)
}
viewModel.breakingNews.observe(viewLifecycleOwner, Observer { response ->
when(response) {
is Resource.Success -> {
hideProgressBar()
response.data?.let { newsResponse ->
newsAdapter.differ.submitList(newsResponse.articles.toList())
val totalPages=newsResponse.totalResults/ QUERY_PAGE_SIZE+2 //Sayfada boşluk oluşuyor
isLastPage=viewModel.breakingNewsPage==totalPages
if(isLastPage){
rvBreakingNews.setPadding(0,0,0,0)
}
}
}
is Resource.Error -> {
hideProgressBar()
response.message?.let { message ->
Log.e(TAG, "An error occured: $message")
}
}
is Resource.Loading -> {
showProgressBar()
}
}
})
}
错误
原因:java.lang.ClassCastException:com.androiddevs.mvvmnewsapp.ui.NewsActivity 无法转换为 com.androiddevs.mvvmnewsapp.ui.UsNewsActivity 在 com.androiddevs.mvvmnewsapp.ui.fragments.BreakingNewsFragment.onViewCreated(BreakingNewsFragment.kt:34)
【问题讨论】:
标签: android kotlin android-activity navigation fragment