Вы пытаетесь определить lvElevator, прежде чем фрагмент раздувает файл макета xml.Это можно исправить двумя способами.
1) Вместо этого используйте метод onViewCreated()
, чтобы загрузить данные в представления.И используйте метод onCreateView, чтобы просто накачать только представление.
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
EList.add(E1List(1))
EList.add(E1List(2))
var EAdapter = EleAdapter(EList)
lvElevator.adapter = EAdapter
}
2) Изменить метод onCreateView()
, как показано ниже.
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
// Define views manually..
val view = inflater.inflate(R.layout.fragment_elevators, container, false)
val lvElevator = view.findViewById<ListView>(R.id.lvElevator)
EList.add(E1List(1))
EList.add(E1List(2))
var EAdapter = EleAdapter(EList)
lvElevator.adapter = EAdapter
return view
}
Как опытный разработчик,Я бы порекомендовал использовать первый способ, так как этот метод войдет в область действия только после того, как разметка завершена.