使用kotlin过程中遇到的坑

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() + "%"

你可能感兴趣的:(使用kotlin过程中遇到的坑)