[2]Activity'den Fragment'a veri gönderme
11.06.2020 - 11:41
Uygulama ilk açıldığında ana fragment'ım main activity üzeride çalışıyor ve internetten film listesi alıp burada gösteriyorum. Filtreleme işlemi içinde spinner ile verileri seçip filtrele butonuna bastığımda aşağıdaki kodlarda olduğu gibi fragment içerisindeki bir methodu çalıştırmak istiyorum. Fakat hata alıyorum ve çözümünü bir türlü bulamadım, aldığım hata ise : lateinit property viewModel has not been initialized
class MoviesFragment : Fragment(){
private lateinit var viewModel : MoviesViewModel
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel = ViewModelProviders.of(this).get(MoviesViewModel::class.java)
viewModel.refreshData(sortMethod)
}
fun filterMovie(quality : String, genre : String, rate : String, year : String, lang : String){
println("sa")
viewModel.filterMovie(quality, genre, rate, year, lang)
}
}
class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
(navRight.menu.findItem(R.id.filtBut).actionView as Button).run {
this.setOnClickListener {
val fragment = MoviesFragment()
fragment.filterMovie(filtQuality,filtGenre,filtRate,filtYear,filtLang)
}
}
}
}
kodlarım da bu şekilde yardımcı olabilir misiniz
160
Görüntülenme
0 Beğeni