Код А легко понять.
Но многие люди используют viewModel.allCheeses.observe(this, Observer(adapter::submitList))
вместо viewModel.allCheeses.observe(this, Observer { adapter.submitList(it) })
.
На мой взгляд, символ :: указывает что это класс в Kotlin.
Код A
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val adapter = CheeseAdapter()
cheeseList.adapter = adapter
viewModel.allCheeses.observe(this, Observer { adapter.submitList(it) })
//viewModel.allCheeses.observe(this, Observer(adapter::submitList))
initAddButtonListener()
initSwipeToDelete()
}
public interface Observer<T> {
/**
* Called when the data is changed.
* @param t The new data
*/
void onChanged(T t);
}