Не могу импортировать адаптер - PullRequest
0 голосов
/ 11 июня 2019

Я изучаю Kotlin и Mvvm для Android. Я использую представление переработчика, и когда я пытаюсь установить адаптер, я не могу импортировать класс Adapter, я не знаю, есть ли проблема в коде, потому что Android Studio позволяет мне импортировать класс ViewHolder внутри класса Adapter, но не класса Adapter

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
    }

}

1 Ответ

0 голосов
/ 11 июня 2019

Похоже, вам не хватает пакета в вашем классе адаптера. Добавьте его и попробуйте снова:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...