在Android Studio中转换后,Kotlintypes不匹配
我试图将现有的android代码转换为Kotlin代码。 但是,它显示以下错误
转换前的代码。
recyclerView.setAdapter(new RecyclerView.Adapter() { @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater layoutInflater = getLayoutInflater(); return new RecyclerView.ViewHolder(layoutInflater.inflate(R.layout.item_restaurant2, parent, false)) { }; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { } @Override public int getItemCount() { return 3; } });
转换后的代码
recyclerView!!.setAdapter(object : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { val layoutInflater = layoutInflater return object : RecyclerView.ViewHolder(layoutInflater.inflate(R.layout.item_restaurant2, parent, false)) { } } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { } override fun getItemCount(): Int { return 3 } })
object : RecyclerView.Adapter() {
– 当generics涉及时,Kotlin确实不喜欢Java的原始types。 指定ViewHoldertypes可能会修复您的代码。
例如, object : RecyclerView.Adapter
- 即时应用基本功能的Application.onCreate()永远不会被调用
- 在Kotlin(Android)中以字符串形式读取文本资产(来自assets文件夹的文本文件)
- MyObjectBox不是在kotlin(objectbox库)中生成的
- SearchView不会在第二个点上调用onQueryTextChange
- 建立签名apk失败与proguard(项目中的不同模块)
- 在apk签名时出错:无法找到
- Android,Espresso:预验证类中的类ref已解析为意外的实现
- 许多listview和每个包含Kotlin不同的对象
- Android测试运行时不需要启动模拟器(选择设备对话框不会出现) – 空的测试套件