Kotlin1.4之后没有kotlin-android-extension插件了……官方建议使用View Binding。
直接写recycler_view.layoutManager又会报错,无奈问了DeepSeek,它给出了解决方案,编辑器确实没有报错了,但是代码同老师的差别就太大了。我暂时没有能力验证这种方案是否可以同接下来的课程内容兼容,先贴在这里:
class HomeFragment : Fragment(R.layout.fragment_home) {
// 定义 Binding 对象(根据布局文件名称自动生成)
private var _binding: FragmentHomeBinding? = null
private val binding get() = _binding!! // 非空断言仅在 _binding 非空时使用
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
// 初始化 Binding
_binding = FragmentHomeBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// 通过 binding 访问视图
binding.recyclerView.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
// 其他代码(例如设置 Adapter)
}
override fun onDestroyView() {
super.onDestroyView()
// 清理 Binding 避免内存泄漏
_binding = null
}
}
是
列表布局(一)
新建布局文件item_view_linear_vertical,LinearLayout。加载图片资源到
其内容如下:
扩展插件:
要直接使用控件id来进行操作,不使用findViewById。
在根目录下build.gradle中 dependencies内添加插件{classpath “org.jetbrains.kotlin:kotlin-android-extensions:${kotlin的当前使用版本}”}
2.其次在app目录下的build.gradle中 plugins中引用该插件plugins { id 'kotlin-android-extensions'}