Il mio collega e ho avuto una discussione. Siamo a tradurre l'applicazione di MVVM+Associazione. C'era la necessità di avviare una finestra di dialogo da un frammento. Io lo faccio così:
Nel frammento:
fragmentBinding.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// there's a bunch of code here
alertDialog.show();
}});
Un collega sostiene anche che hai bisogno di fare questo:
Nel file xml possiamo scrivere come segue:
android:onClick="@{v -> viewModel.showDialog(context)}"
E nel ViewModel:
fun showDialog(context: Context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
// there's a bunch of code here
alertDialog.show();
}
Per favore, dimmi, quale è corretta?