1、activity中使用kotlinx可以不用findViewById方法就可以使用控件id,但是fragment中需要注意的是,在onCreateView中直接使用控件Id会报空指针异常,需要在onViewCreated方法中使用控件id,因为在这个方法被调用的时候,view已经创建了。
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
btn_test.setText("测试")
}
2、在adapter中,控件需要在viewHolder中申明之后再使用,不然会报空指针异常。
internal inner class SettingViewHolder(itemView: View, itemClickListener: ItemClickListener) : RecyclerView.ViewHolder(itemView) {
var tvLeft:TextView = itemView.findViewById(R.id.tv_left)
init {
itemView.setOnClickListener { v -> itemClickListener.onItemClickListener(v, adapterPosition) }
}
}
3、在kotlin语法中int类型数据不能直接通过“+”拼接String类型数据
而需要先转为string类型:
val progress = newProgress.toString() + "%"
网友评论