18 private EditText etNombre, etApellido, etEmail, etMensaje;
19 private Button btnEnviar;
23 public View
onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
24 View view = inflater.inflate(R.layout.fragment_contact, container,
false);
27 etNombre = view.findViewById(R.id.etNombre);
28 etApellido = view.findViewById(R.id.etApellido);
29 etEmail = view.findViewById(R.id.etEmail);
30 etMensaje = view.findViewById(R.id.etMensaje);
31 btnEnviar = view.findViewById(R.id.btnEnviar);
34 btnEnviar.setOnClickListener(
new View.OnClickListener() {
36 public void onClick(View v) {
45 private void enviarMensaje() {
46 String nombre = etNombre.getText().toString().trim();
47 String apellido = etApellido.getText().toString().trim();
48 String email = etEmail.getText().toString().trim();
49 String mensaje = etMensaje.getText().toString().trim();
50 String regex =
"^[a-zA-Z\\s]+$";
51 String emailPattern =
"[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}";
52 if (nombre.isEmpty() || apellido.isEmpty() || email.isEmpty() || mensaje.isEmpty()) {
53 Toast.makeText(getContext(),
"Por favor completa todos los campos", Toast.LENGTH_SHORT).show();
57 if (!nombre.matches(regex)) {
59 Toast.makeText(getContext(),
"El campo nombre no es válido (no debe contener números)", Toast.LENGTH_SHORT).show();
62 if (nombre.length() <3 || nombre.length() > 15) {
63 Toast.makeText(getContext(),
"El nombre debe tener más de 3 y hasta 15 caracteres", Toast.LENGTH_SHORT).show();
66 if (!apellido.matches(regex)) {
68 Toast.makeText(getContext(),
"El campo apellido no es válido (no debe contener números)", Toast.LENGTH_SHORT).show();
71 if (apellido.length() < 3 || apellido.length() > 15) {
72 Toast.makeText(getContext(),
"El apellido debe tener más de 3 y hasta 15 caracteres", Toast.LENGTH_SHORT).show();
75 if (!email.matches(emailPattern)) {
76 Toast.makeText(getContext(),
"El email no es válido", Toast.LENGTH_SHORT).show();
79 if (mensaje.length() < 5 || mensaje.length() > 100) {
80 Toast.makeText(getContext(),
"El mensaje debe contener de 5 a 100 carateres", Toast.LENGTH_SHORT).show();
83 if (!mensaje.matches(regex)) {
85 Toast.makeText(getContext(),
"El texto del mensaje no es válido", Toast.LENGTH_SHORT).show();
90 Intent emailIntent =
new Intent(Intent.ACTION_SEND);
91 emailIntent.setData(Uri.parse(
"mailto:"));
92 emailIntent.setType(
"text/plain");
93 emailIntent.putExtra(Intent.EXTRA_EMAIL,
new String[]{email});
94 emailIntent.putExtra(Intent.EXTRA_SUBJECT,
"Mensaje de la app");
95 emailIntent.putExtra(Intent.EXTRA_TEXT,
"Nombre: " + nombre +
"\nApellido: " + apellido +
"\nMensaje: " + mensaje);
98 if (emailIntent.resolveActivity(getContext().getPackageManager()) !=
null) {
99 startActivity(emailIntent);
100 Toast.makeText(getContext(),
"Mensaje enviado", Toast.LENGTH_SHORT).show();
102 Toast.makeText(getContext(),
"No se encontró una aplicación de email instalada", Toast.LENGTH_SHORT).show();