RecyclerView.Adapter-错误:公共函数在Kotlin中公开它的内部返回类型
我正在Kotlin实现一个RecylcerView.Adapter类。 编译时间错误,请参阅以下代码中的注释。
// Compile time Error: 'public' function exposes its 'internal' return type ViewHolder class DietListAdapter(context: Context, private val foodList: ArrayList<Food>) : RecyclerView.Adapter<DietListAdapter.ViewHolder>() { private val inflater: LayoutInflater private var onItemClick: Callback<Void, Int>? = null init { inflater = LayoutInflater.from(context) } // Compile time Error: 'public' function exposes its 'internal' return type ViewHolder override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DietListAdapter.ViewHolder { val holder = ViewHolder(inflater.inflate(R.layout.layout_food_list_item, parent, false)) return holder } // Compile time Error: 'public' function exposes its 'internal' parameter type ViewHolder override fun onBindViewHolder(holder: DietListAdapter.ViewHolder, position: Int) { holder.textViewFoodName.text = foodList[position].foodName holder.textViewFoodDesc.text = foodList[position].foodDesc holder.itemView.setOnClickListener { if (onItemClick != null) onItemClick!!.callback(foodList[position].foodId) } } ... ... internal inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { var textViewFoodName: TextView var textViewFoodDesc: TextView init { textViewFoodName = itemView.findViewById(R.id.textViewFoodName) as TextView textViewFoodDesc = itemView.findViewById(R.id.textViewFoodDesc) as TextView } } ... ... }
我已经在Kotlin文档中检查过,没有解决方案。
有没有其他人面对这个问题?
我的坏,一个愚蠢的错误。 我在Android Studio中将Java代码转换为Kotlin,所以它将内部类转换为内部内部类。
我刚刚删除内部工作正常。
我想删除这个问题,只是认为有人可能遇到同样的问题,所以只是发布了一个答案。
- 在Android Studio 3.0 Canary中,Gradle Sync失败
- 当CollapsingToolbarLayout展开时,使菜单项透明
- 监听器绑定; 找不到Setter
- 在Kotlin中是否有像#region#endregion的语法?
- 替换Kotlin中的java通用接口进行数据绑定
- 错误:执行任务失败:app:compileDebugKotlinAfterJava'
- Android kotlin onCreate(savedInstanceState:Bundle?)导致IllegalArgumentException
- 无法在Android Studio 2.0中安装或卸载任何插件
- Android Room:查询中的每个绑定变量都必须具有匹配的方法