当我点击recyclerview上的一个位置时,我试图将通过Firestore获得的填充数据传递到另一个Activity上。但是,当我试图点击recyclerview项时,我得到了一个错误。是不是因为我正在传递intent.getParcelableExtra()!!
,而我需要传递其他东西?谢谢!
这是错误:
Caused by: java.lang.NullPointerException
at com.zwdalpha.skedaddle.Activities.Services.CategoryServiceActivity.onCreate(CategoryServiceActivity.kt:32)
常用类别适配器.kt
class PopularCategoriesAdapter(val category: ArrayList<Category>) :
RecyclerView.Adapter<PopularCategoriesAdapter.ViewHolder>() {
var selectedCategory = Category("", "")
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bindCategory(category[position])
holder.itemView.setOnClickListener { v ->
selectedCategory.category = category[position].category
val intent = Intent(holder.itemView.context, CategoryServiceActivity::class.java)
intent.putExtra("category", category[position].category)
holder.itemView.context.startActivity(intent)
}
}
}
类别服务活动.kt
class CategoryServiceActivity : AppCompatActivity() {
lateinit var category: Category
@SuppressLint("NotifyDataSetChanged")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_category_service)
// Line 32 - category = intent.getParcelableExtra("category")!!
}
}
我尝试将intent.getParcelableExtra("category")!!
切换为intent.extras!!.get("category") as Category
,但仍然出现错误。
1条答案
按热度按时间k2arahey1#
因为您没有将“category”作为Category()的对象发送。
相反,你发送的是它的类别字段,我假设它是字符串。