【问题标题】:Can not import Adapter无法导入适配器
【发布时间】:2019-10-26 02:56:10
【问题描述】:

我正在学习适用于 Android 的 Kotlin 和 Mvvm。我正在使用回收器视图,当我尝试设置适配器时,我无法导入适配器类,我不知道问题是否出在代码中,因为 Android Studio 让我在适配器类中导入 ViewHolder 类而不是适配器类

FrontPageActivity.kt

package com.jmyp.resport.view

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.jmyp.resport.model.New
import com.jmyp.resport.R
import com.jmyp.resport.viewmodel.NewViewModel

class FrontPageActivity : AppCompatActivity() {

    lateinit var adapter : NewsAdapter // I can not import this but i can 
                                       // NewsAdapter.NewViewHolder

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_front_page)

        var viewModelNews = ViewModelProviders.of(this).get(NewViewModel::class.java)
        viewModelNews.getNews().observe(this, Observer<ArrayList<New>> { news ->
            adapter = NewsAdapter(this, news)
        })

    }
}

NewsAdapter.kt

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.jmyp.resport.model.New
import com.jmyp.resport.R
import com.jmyp.resport.view.FrontPageActivity
import kotlinx.android.synthetic.main.row_front_page.view.*



class NewsAdapter(private val context: FrontPageActivity, private val news : ArrayList<New>) : RecyclerView.Adapter<NewsAdapter.NewViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NewViewHolder {
        return NewViewHolder(LayoutInflater.from(context).inflate(R.layout.row_front_page,parent,false))
    }

    override fun getItemCount(): Int {
        return news.size
    }

    override fun onBindViewHolder(holder: NewViewHolder, position: Int) {
        holder.title.text = news.get(position).titulo
    }

    class NewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val cover = itemView.iv_cover
        val title = itemView.tv_title
    }

}

【问题讨论】:

    标签: android kotlin import android-recyclerview


    【解决方案1】:

    您的 Adapter 类中似乎缺少包。添加并重试:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 2023-03-13
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      相关资源
      最近更新 更多