我正在关注谷歌官方Codelabs上出现的Shrine示例应用程序(
here
).
我想创建一个简单的视图(像其他Fragments一样的Fragment)来显示单击时任何项目的详细文本。
我认为实现Click on元素的最佳方式是
StaggeredProductCardViewHolder
类,因为我看到它实现
RecyclerView.ViewHolder(itemView)
.
这是我已经尝试过的,但我甚至无法在屏幕上的任何地方点击任何项目,那么出了什么问题呢?
class StaggeredProductCardViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
var productImage: NetworkImageView = itemView.findViewById(R.id.product_image)
var productTitle: TextView = itemView.findViewById(R.id.product_title)
var productPrice: TextView = itemView.findViewById(R.id.product_price)
override fun onClick(v: View?) {
println("wow clicked")
v?.context?.startActivity(Intent(v.context, ProductCardDetailActivity::class.java))
}
class ProductCardDetailActivity : Fragment(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
println("onCreate")
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
println("onCreateView")
return super.onCreateView(inflater, container, savedInstanceState)
}
}
}
注意:我添加了一个片段
ProductCardDetailActivity
在这里,我将实现其他方法,以便在单击时显示项目片段描述。
我真的不知道从哪里开始,往哪里走,否则我会在这方面付出更多的努力,但与此同时,我一直在努力。