如何解决该错误? lateinit属性movieAdapter尚未初始化。我不知道该如何启动
class SearchActivity : BaseAppCompatActivity() {
private lateinit var movieViewModel: MovieViewModel
private lateinit var movieAdapter: MovieAdapter
private lateinit var tvShowAdapter: TvShowAdapter
private lateinit var query: String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_search)
query = intent.getStringExtra(EXTRA_QUERY)!!
movieViewModel = ViewModelProviders.of(this).get(MovieViewModel::class.java)
movieViewModel.movies.observe(this, getMovie)
val adapter = ArrayAdapter<String>(
applicationContext, android.R.layout.simple_spinner_dropdown_item,
resources.getStringArray(R.array.filter_search)
)
spinner_search_activity.adapter = adapter
spinner_search_activity.onItemSelectedListener =
object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
pb_search_activity.visibility = View.VISIBLE
tv_null_search_activity.visibility = View.GONE
if (spinner_search_activity.selectedItemPosition == 0) {
searchMovie()
} else if (spinner_search_activity.selectedItemPosition == 1) {
searchTvShow()
}
}
}
}
movieAdapter = MovieAdapter(/*pass the required data to construct this*/)
在哪里发起? ,这取决于构造函数所需的项目。