entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Mi aplicación se cierra al guardar

En el momento que le doy guardar a la nota, mi aplicacion se cierra, intente revisar con el DEBUG, y justo en el momento que pasa por la variable "String contenido = etContenido.getText().toString();", es cuando se cierra la app, dejo el codigo, para que me puedan ayudar.

package com.org.notas.prueba;

import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.ViewModelProvider;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;

import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Switch;

import com.org.notas.prueba.db.entity.NotaEntity;

public class NuevaNotaDialogFragment extends DialogFragment {

    public static NuevaNotaDialogFragment newInstance() {
        return new NuevaNotaDialogFragment();
    }

    private View view;
    private EditText etTitulo;
    private EditText etContenido;
    private RadioGroup rgColor;
    private Switch swNotaFavorita;

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the Builder class for convenient dialog construction
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

       builder.setTitle("Nueva nota");
        builder.setMessage("Ingresar los datos de la nueva nota");
        builder.setPositiveButton("Guardar", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                String titulo = etTitulo.getText().toString();
                String contenido = etContenido.getText().toString();
                String color = "azul";
                switch (rgColor.getCheckedRadioButtonId()) {
                    case R.id.radioButtonColorRojo:
                        color = "rojo";
                        break;
                    case R.id.radioButtonColorVerde:
                        color = "verde";
                        break;
                }
                boolean esFavorita = swNotaFavorita.isChecked();

                NuevaNotaDialogViewModel mViewModel =new  ViewModelProvider(getActivity()).get(NuevaNotaDialogViewModel.class);
                mViewModel.insertarNota(new NotaEntity(titulo,contenido,esFavorita,color));
                dialog.dismiss();
            }
        });
        builder.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
               dialog.dismiss();
            }
        });

        LayoutInflater inflater = getActivity().getLayoutInflater();
        view = inflater.inflate(R.layout.nueva_nota_dialog_fragment, null);

        etTitulo = view.findViewById(R.id.editTextTitulo);
        etContenido = view.findViewById(R.id.textViewContenido);
        rgColor = view.findViewById(R.id.radioGroupColor);
        swNotaFavorita = view.findViewById(R.id.switchNotaFavorita);

        builder.setView(view);

        // Create the AlertDialog object and return it
        return builder.create();
    }

}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta