在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