Эта ошибка происходит со мной E / RecyclerView: адаптер не подключен; пропускающий макет - PullRequest
0 голосов
/ 13 апреля 2020

Я понимаю, что мои layoutManager и adapter кажутся нулевыми, но я не совсем понимаю, почему это пусто.

вот код для моих GpsFragment.kt

class GpsFragment : Fragment() {

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    (context as AppCompatActivity).supportActionBar!!.title = "Gps"
    val root = inflater.inflate(R.layout.fragment_gps, container, false)

        showCars()

    return root
}

private fun showCars(){
    val cars = listOf(
        Cars("Bezza","0.17263","3.267834"),
        Cars("Bezza","0.17263","3.267834"),
        Cars("Bezza","0.17263","3.267834"),
        Cars("Bezza","0.17263","3.267834")
    )

    myCarlist?.layoutManager = LinearLayoutManager(activity)
    myCarlist?.adapter = CarAdapter(cars)
}

Вот код для моей модели класса Cars.kt

data class Cars(val name: String = "-",
            val latitude: String = "-",
            val longtitude: String = "-")

А это код для моего адаптера CarAdapter.kt

class CarAdapter (private val cars : List<Cars>) : RecyclerView.Adapter<CarAdapter.CarViewHolder>(){

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CarViewHolder {
    val inflater = LayoutInflater.from(parent.context).inflate(R.layout.list_layout, parent, false)

    return  CarViewHolder(inflater)
}

override fun getItemCount() = cars.size

override fun onBindViewHolder(holder: CarViewHolder, position: Int) {
    val car = cars[position]

    holder.view.carname.text = car.name
    holder.view.latitude.text = car.latitude
    holder.view.longtitude.text = car.longtitude

}

class CarViewHolder(val view:View) : RecyclerView.ViewHolder(view)

}

1 Ответ

1 голос
/ 13 апреля 2020

попробуйте вызвать ваш метод showcars() в onViewCreated insted oncreateView, потому что

Документы для Fragment.onCreateView () теперь говорят:

В этом методе рекомендуется только раздувать макет и перемещать логи c, которые работают с возвращенным представлением, в onViewCreated (View, Bundle).

...