Open juanxodj opened 8 years ago
Hola Juanxodj, ten presente que la actividad y el dialog son 2 componentes diferentes . Entonces si necesitas ver algùn log o toast para saber de alguna acciòn del dialogo, debes hacerlo en la clase del dialogo o en el callback del Dialogo en la actividad cuando se cierra, es decir al aceptar o cancelar.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// Get the layout inflater
LayoutInflater inflater = getActivity().getLayoutInflater();
// Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog layout
View customView= inflater.inflate(R.layout.fragment_custom_dialog,null);
eteUsername= (EditText) customView.findViewById(R.id.eteUsername);
etePassword= (EditText) customView.findViewById(R.id.etePassword);
builder.setView(customView)
// Add action buttons
.setPositiveButton(R.string.signin, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// sign in the user ...
if(mListener!=null){
if(validateForm()) {
String message = String.format("username %s password %s",username,password);
Log.v(TAG, message);
mListener.onDialogPositive(message);
}
}
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
CustomDialogFragment.this.getDialog().cancel();
if(mListener!=null){
mListener.onDialogNegative(null);
}
}
});
return builder.create();
}
He probado agregar "username = (EditText)findViewById(R.id.username);" en el evento UI y concaternarlo en el Toast + username:
Toast.makeText(this,"Custom Dialog "+ getString(R.string.signin) + username,Toast.LENGTH_SHORT).show();
Me devuelve Null porque obviamente el fragment_custom_dialog.xml no es parte de la actividad, como podría hacer para capturar ese texto y mostrarlo junto al Toast?