恢复应用程序时重新显示对话框

时间:2015-01-26 02:35:49

标签: android dialog android-alertdialog dismiss

我有一个应用程序,我可以在其中打开许多对话框。这是其中之一,它们在开头和onDismiss中具有相同的代码。 这是onDismiss()的代码,当我执行getDialog.dismiss()时调用它:

@Override
public void onDismiss(DialogInterface dialog) {
    ActividadPrincipal parent = (ActividadPrincipal) getActivity();
    parent.ActualizarActions();

}

问题是:假设我在我的应用程序中打开一个Dialog,然后我关闭它(它执行getDialog.dismiss())。当我单击主页按钮或更改应用程序并返回到我的应用程序时,每次打开和关闭(或未关闭)对话框都会再次出现。知道会发生什么事吗?

编辑: 这是该类的代码:

public class ActividadPrincipal extends Activity implements DialogActionsListener, DialogEventoListener, DialogAccionListener, DialogBrilloListener, DialogTextoAccionListener, DialogNroTextoAccionListener, DialogNroEventoListener, DialogTextoEventoListener, DialogNroTextoEventoListener, DialogModificarActionListener{

    ListView listView;
    static ArrayList<Action> listaActions;
    static ArrayList<EventoDefinido> listaEventosDefinidos;
    static ArrayList<AccionDefinida> listaAccionesDefinidas;
    static ArrayList<Action> listaActionsVacia = new ArrayList<Action>();
    static ArrayList<EventoDefinido> listaEventosDefinidosVacia = new ArrayList<EventoDefinido>();
    static ArrayList<AccionDefinida> listaAccionesDefinidasVacia = new ArrayList<AccionDefinida>();

    static ArrayList<Integer> listaActionsEliminadas = new ArrayList<Integer>();
    static ArrayList<Integer> listaAccionesDefinidasEliminadas = new ArrayList<Integer>();
    static ArrayList<Integer> listaEventosDefinidosEliminados = new ArrayList<Integer>();

    static ArrayList<Integer> listaActionsEliminadasOrdenada = new ArrayList<Integer>();
    static ArrayList<Integer> listaAccionesDefinidasEliminadasOrdenada = new ArrayList<Integer>();
    static ArrayList<Integer> listaEventosDefinidosEliminadosOrdenada = new ArrayList<Integer>();

    static int contadorDePosiciones = 0;
    static int contadorDePosicionesAcciones = 0;
    static int contadorDePosicionesEventos = 0;

    ArrayList<Accion> listaAcciones;
    ArrayList<Evento> listaEventos;
    boolean Actions = true;
    boolean Eventos = false;
    boolean Acciones = false;
    boolean Ayuda = false;

    static int idAccionTemporal = 0;
    static int idEventoTemporal = 0;



    // Creo el adapter para Actions
    static AdapterActions adapterActions;

    //Creo el adapter para Eventos
    static AdapterEventosDefinidos adapterEventosDefinidos;

    // Creo el adapter para Acciones
    static AdapterAccionesDefinidas adapterAccionesDefinidas;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_actividad_principal);

        listView = (ListView) findViewById(R.id.listView1);
        listaActions = new ArrayList<Action>();
        listaEventosDefinidos = new ArrayList<EventoDefinido>();
        listaAccionesDefinidas = new ArrayList<AccionDefinida>();
        listaAcciones = new ArrayList<Accion>();
        listaEventos = new ArrayList<Evento>();

        //REGISTRO EL RECEIVER PARA HEADPHONES, QUE LO NECESITA
        broadcastAuriculares headsetReceiver = new broadcastAuriculares();
        this.registerReceiver(headsetReceiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
        final boolean isFirstTime = MyPreferences.isFirst(ActividadPrincipal.this);


        listView.setLongClickable(true);
        registerForContextMenu(listView);

      //ACÁ EMPIEZA LO DE ACTIONS
            if (isFirstTime){
            ActionsSQLite helper1  = new ActionsSQLite(this, "Actions", null, 1);
            SQLiteDatabase db = helper1.getWritableDatabase();


            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (2, 1, 1)");

            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (6, 1, 0)");

            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (5, 3, 1)");

            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (3, 3, 0)");

            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (1, 2, 1)");

            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (4, 2, 0)");

            db.execSQL("INSERT INTO Actions (IdAccionDefinida, IdEventoDefinido, Activa) VALUES (9, 3, 0)");
            }

            ActionsSQLite base = new ActionsSQLite(this, "Actions", null,1);
            SQLiteDatabase db1 = base.getReadableDatabase();
            db1 = openOrCreateDatabase("Actions",SQLiteDatabase.OPEN_READONLY, null);
            Cursor c1 = db1.rawQuery("SELECT * FROM Actions", null);

            try{
                if(c1!=null){

                    int i = c1.getColumnIndexOrThrow("Id");
                    int j = c1.getColumnIndexOrThrow("IdAccionDefinida");
                    int k = c1.getColumnIndexOrThrow("IdEventoDefinido");
                    int l = c1.getColumnIndexOrThrow("Activa");
                    boolean esActiva;

                    //Nos aseguramos de que existe al menos un registro
                    while(c1.moveToNext()){
                        if (c1.getInt(l) == 0){
                            esActiva = false;
                        } else
                        {
                            esActiva = true;
                        }
                        //Recorremos el cursor hasta que no haya más registros
                        Action Action = new Action(c1.getInt(i), c1.getInt(j), c1.getInt(k), esActiva);
                        listaActions.add(Action);
                    }
                }
                else 
                    Toast.makeText(getApplicationContext(), 
                              "No hay nada :(", Toast.LENGTH_LONG).show();
              }
              catch (Exception e){
                Log.i("bdActions", "Error al abrir o crear la base de datos" + e); 
              }

              if(db1!=null){
                    db1.close();
            }   

              //ACA LO DE ACCIONESDEFINIDAS
              if (isFirstTime){
              AccionesDefinidasSQLite helper3  = new AccionesDefinidasSQLite(getApplicationContext(), "AccionesDefinidas", null, 1);
                SQLiteDatabase bd3 = helper3.getWritableDatabase();     


                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (1, 'Wi-Fi ON','')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (2, 'Wi-Fi OFF','')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (3, 'Modo Silencioso','')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (4, 'Modo Vibrador','')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (5, 'Modo Volumen','')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (6, 'Notificación Vitaminas','Tomar vitaminas')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (7, 'Brillo 20%','20')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (8, 'SMS','1159064309+Presentar Proyecto')");

                bd3.execSQL("INSERT INTO AccionesDefinidas (IdAccion, Nombre, Aux) VALUES (9, 'Notif Ruidosa','Hacer ruido')");
                }

                AccionesDefinidasSQLite base3 = new AccionesDefinidasSQLite(getApplicationContext(), "AccionesDefinidas", null,1);
                SQLiteDatabase db3 = base3.getReadableDatabase();
                db3 = openOrCreateDatabase("AccionesDefinidas",SQLiteDatabase.OPEN_READONLY, null);
                Cursor c3 = db3.rawQuery("SELECT * FROM AccionesDefinidas", null);
                try{
                    if(c3!=null){

                        int h = c3.getColumnIndexOrThrow("Id");
                        int k = c3.getColumnIndexOrThrow("IdAccion");
                        int i = c3.getColumnIndexOrThrow("Nombre");
                        int j = c3.getColumnIndexOrThrow("Aux");

                        //Nos aseguramos de que existe al menos un registro
                        while(c3.moveToNext()){
                            //Recorremos el cursor hasta que no haya más registros
                            AccionDefinida Accion = new AccionDefinida(c3.getInt(h), c3.getInt(k), c3.getString(i), c3.getString(j));
                            listaAccionesDefinidas.add(Accion);
                        }
                    }
                    else 
                        Toast.makeText(getApplicationContext(), 
                              "No hay nada :(", Toast.LENGTH_LONG).show();
                }
                catch (Exception e){
                    Log.i("bdAccionesDefinidas", "Error al abrir o crear la base de datos" + e); 
                }

                if(db3!=null){
                    db3.close();
                }


                //ACA LO DE EVENTOSDEFINIDOS
                EventosDefinidosSQLite helper2  = new EventosDefinidosSQLite(getApplicationContext(), "EventosDefinidos", null, 1);
                SQLiteDatabase bd2 = helper2.getWritableDatabase();

                if (isFirstTime){
                bd2.execSQL("INSERT INTO EventosDefinidos (IdEvento, Nombre, Aux) VALUES (1, 'Batería Baja','')");

                bd2.execSQL("INSERT INTO EventosDefinidos (IdEvento, Nombre, Aux) VALUES (2, 'Auriculares Conectados','')");

                //bd2.execSQL("INSERT INTO EventosDefinidos (IdEvento, Nombre, Aux) VALUES (3, 'Son las 22:30','22:30')");

                bd2.execSQL("INSERT INTO EventosDefinidos (IdEvento, Nombre, Aux) VALUES (4, 'Mensaje Específico Perdido','Buscar celular')");

                }

                EventosDefinidosSQLite base2 = new EventosDefinidosSQLite(getApplicationContext(), "EventosDefinidos", null,1);
                SQLiteDatabase db2 = base2.getReadableDatabase();
                db2 = openOrCreateDatabase("EventosDefinidos",SQLiteDatabase.OPEN_READONLY, null);
                Cursor c2 = db2.rawQuery("SELECT * FROM EventosDefinidos", null);
                try{
                    if(c2!=null){

                        int h = c2.getColumnIndexOrThrow("Id");
                        int k = c2.getColumnIndexOrThrow("IdEvento");
                        int i = c2.getColumnIndexOrThrow("Nombre");
                        int j = c2.getColumnIndexOrThrow("Aux");

                        //Nos aseguramos de que existe al menos un registro
                        while(c2.moveToNext()){
                            //Recorremos el cursor hasta que no haya más registros
                            EventoDefinido Evento = new EventoDefinido(c2.getInt(h), c2.getInt(k), c2.getString(i), c2.getString(j));
                            listaEventosDefinidos.add(Evento);
                        }
                    }
                    else 
                        Toast.makeText(getApplicationContext(), 
                              "No hay nada :(", Toast.LENGTH_LONG).show();
                }
                catch (Exception e){
                    Log.i("bdEventosDefinidos", "Error al abrir o crear la base de datos" + e); 
                }

                if(db2!=null){
                    db2.close();
                }


                for (int i=0;i<listaActions.size()-1;i++)
                {
                    if(i == 0)
                    {
                        if (listaActions.get(i).getId() != 1)
                        {
                            for (int j=1;j<listaActions.get(i).getId();j++)
                            {
                                listaActionsEliminadas.add(j);
                            }
                        }
                    }else
                    if (listaActions.get(i).getId() != listaActions.get(i-1).getId() + 1)
                    {
                        for (int j=listaActions.get(i-1).getId();j<listaActions.get(i).getId();j++)
                        {
                            listaActionsEliminadas.add(j);
                        }
                    }
                }


                listaActionsEliminadas = listaActionsEliminadasOrdenada;


        // Ponemos el adapter por default para cargar en la actividad principal
        // Al adapter personalizado le pasamos el contexto y la lista que contiene
                // Añadimos el adapter al listview
                adapterActions = new AdapterActions(this, listaActions, listaActionsEliminadas);
                listView.setAdapter(adapterActions);










        //Declaración de Botones y programación
        Button btnActions = (Button)findViewById(R.id.btnActions);
        Button btnAyuda = (Button)findViewById(R.id.btnAyuda);
        final Button btnCrear = (Button)findViewById(R.id.btn_crear);


        btnActions.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //ACA EMPIEZA LO DE ACTIONS
                ActionsSQLite base = new ActionsSQLite(getApplicationContext(), "Actions", null,1);
                SQLiteDatabase db1 = base.getReadableDatabase();
                db1 = openOrCreateDatabase("Actions",SQLiteDatabase.OPEN_READONLY, null);
                Cursor c1 = db1.rawQuery("SELECT * FROM Actions", null);

                listaActions.clear();
                try{
                    if(c1!=null){

                        int i = c1.getColumnIndexOrThrow("Id");
                        int j = c1.getColumnIndexOrThrow("IdAccionDefinida");
                        int k = c1.getColumnIndexOrThrow("IdEventoDefinido");
                        int l = c1.getColumnIndexOrThrow("Activa");
                        boolean esActiva;

                        //Nos aseguramos de que existe al menos un registro
                        while(c1.moveToNext()){
                            if (c1.getInt(l) == 0){
                                esActiva = false;
                            } else
                            {
                                esActiva = true;
                            }
                            //Recorremos el cursor hasta que no haya más registros
                            Action Action = new Action(c1.getInt(i), c1.getInt(j), c1.getInt(k), esActiva);
                            listaActions.add(Action);
                        }
                    }
                    else 
                        Toast.makeText(getApplicationContext(), 
                                  "No hay nada :(", Toast.LENGTH_LONG).show();
                  }
                  catch (Exception e){
                    Log.i("bdActions", "Error al abrir o crear la base de datos" + e); 
                  }

                  if(db1!=null){
                        db1.close();
                }   

                // Al adapter personalizado le pasamos el contexto y la lista que contiene
                // Añadimos el adapter al listview
                adapterActions = new AdapterActions(com.nahue.actions.ActividadPrincipal.this, listaActions, listaActionsEliminadas);
                listView.setAdapter(adapterActions);
                Actions = true;
                Eventos = false;
                Acciones = false;
                Ayuda = false;
                btnCrear.setVisibility(View.VISIBLE);
            }
        });


        btnCrear.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {




                if(Actions == true)
                {
                    FragmentManager fm = getFragmentManager();
                    Log.e("OnClick", "Creó el FragmentManager");
                    DialogActions Dialog = DialogActions.newInstance(listaAccionesDefinidas, listaEventosDefinidos);
                    Log.e("OnClick", "Creó el Dialog");
                    Dialog.show(fm, "dialog_actions");
                    Log.e("OnClick", "Mostró el dialog");
                } else if(Eventos == true)
                {
                    FragmentManager fm = getFragmentManager();
                    Log.e("OnClick", "Creó el FragmentManager");
                    DialogEvento Dialog = DialogEvento.newInstance(listaEventos);
                    Log.e("OnClick", "Creó el Dialog");
                    Dialog.show(fm, "dialog_eventos");
                    Log.e("OnClick", "Mostró el dialog");
                } else if(Acciones == true)
                {
                    FragmentManager fm = getFragmentManager();
                    Log.e("OnClick", "Creó el FragmentManager");
                    DialogAccion Dialog = DialogAccion.newInstance(listaAcciones);
                    Log.e("OnClick", "Creó el Dialog");
                    Dialog.show(fm, "dialog_acciones");
                    Log.e("OnClick", "Mostró el dialog");
                } else if(Ayuda == true)
                {
                    //HacerNada
                }
            }
        });

        final String[] ArrayAyuda = new String[] { "¿Qué es un evento?", 
                "¿Qué es una acción?",
                "¿Qué es una Action?",
                "¿Cómo se define una acción?",
                "¿Cómo se define un evento?",
                "¿Cómo se crea una Action?",
                "Acerca de Actions®"
               };

        btnAyuda.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Al adapter personalizado le pasamos el contexto y la lista que contiene
                // Añadimos el adapter al listview
                Actions = false;
                Eventos = false;
                Acciones = false;
                Ayuda = true;
                btnCrear.setVisibility(View.INVISIBLE);

                 ArrayAdapter<String> adapterAyuda = new ArrayAdapter<String>(com.nahue.actions.ActividadPrincipal.this, android.R.layout.simple_list_item_1, android.R.id.text1, ArrayAyuda);

                listView.setAdapter(adapterAyuda);


            }
        });

                listView.setOnItemLongClickListener(new OnItemLongClickListener() {                    
                    @Override
                    public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                        // TODO Auto-generated method stub

                        if (Actions == true)
                        {
                            Action ActionAModificar = listaActions.get(position);
                            FragmentManager fm = getFragmentManager();
                            Log.e("OnClick", "Creó el FragmentManager");
                            DialogModificarAction Dialog = DialogModificarAction.newInstance(listaActions, listaAccionesDefinidas, listaEventosDefinidos, ActionAModificar);
                            Log.e("OnClick", "Creó el Dialog");
                            Dialog.show(fm, "dialog_modif_baja_actions");
                            Log.e("OnClick", "Mostró el dialog");

                        } else
                            if (Acciones == true)
                            {
                                if (listaAccionesDefinidas.get(position).getId() > 5)
                                {
                                    AlertDialog.Builder builder = new AlertDialog.Builder(ActividadPrincipal.this);
                                    builder.setMessage("Deseas eliminar esta acción? Se eliminarán todas las Actions asociadas.")
                                       .setCancelable(false)
                                       .setPositiveButton("Sí", new DialogInterface.OnClickListener() {
                                           public void onClick(DialogInterface dialog, int id) {



                                               ActionsSQLite base1 = new ActionsSQLite(getApplicationContext(), "Actions", null,1);
                                                SQLiteDatabase db1 = base1.getReadableDatabase();
                                                db1 = openOrCreateDatabase("Actions",SQLiteDatabase.OPEN_READONLY, null);
                                                /*Cursor mCount= db1.rawQuery("SELECT Count(*) from Actions WHERE IdAccionDefinida = " + listaAccionesDefinidas.get(position).getId(), null);
                                                mCount.moveToFirst();
                                                int cantidad = mCount.getInt(0);
                                                mCount.close();*/

                                                db1 = base1.getWritableDatabase();
                                                db1.execSQL("DELETE FROM Actions WHERE IdAccionDefinida = " + listaAccionesDefinidas.get(position).getId());

                                                  if(db1!=null){
                                                        db1.close();
                                                }   




                                               AccionesDefinidasSQLite base = new AccionesDefinidasSQLite(ActividadPrincipal.this, "AccionesDefinidas", null,1);
                                                SQLiteDatabase db = base.getWritableDatabase();

                                                String miQuery = "DELETE FROM AccionesDefinidas WHERE Id = " + String.valueOf(listaAccionesDefinidas.get(position).getId());

                                                for (int i = 0;i<listaActions.size();i++)
                                                {
                                                    if (listaActions.get(i).getIdAccionDefinida() == listaAccionesDefinidas.get(position).getId())
                                                    {
                                                    removerActionEnLista(listaActions, listaActions.get(i), listaActionsEliminadas);
                                                    }
                                                }
                                                removerAccionEnLista(listaAccionesDefinidas, listaAccionesDefinidas.get(position));


                                                db.execSQL(miQuery);
                                                ordenarArrayAccionesDefinidasEliminadas();
                                                ordenarArrayActionsEliminadas();
                                                contadorDePosicionesAcciones += 1;
                                                ActualizarActions();
                                                ActualizarAccionesDefinidas();
                                                //adapterAccionesDefinidas.notifyDataSetChanged();

                                                dialog.cancel();
                                           }
                                       })
                                       .setNegativeButton("No", new DialogInterface.OnClickListener() {
                                           public void onClick(DialogInterface dialog, int id) {
                                                dialog.cancel();
                                           }
                                       });
                                    AlertDialog alert = builder.create();
                                    alert.show();
                                }

                            } else 
                                if (Eventos == true)
                            {
                                Log.e("El id del EventoDefinido es ", String.valueOf(listaEventosDefinidos.get(position).getId()));
                                if (listaEventosDefinidos.get(position).getId() > 2)
                                {

                                    AlertDialog.Builder builder = new AlertDialog.Builder(ActividadPrincipal.this);
                                    builder.setMessage("Deseas eliminar este evento? Se eliminarán todas las Actions asociadas.")
                                       .setCancelable(false)
                                       .setPositiveButton("Sí", new DialogInterface.OnClickListener() {
                                           public void onClick(DialogInterface dialog, int id) {



                                               ActionsSQLite base1 = new ActionsSQLite(getApplicationContext(), "Actions", null,1);
                                                SQLiteDatabase db1 = base1.getReadableDatabase();
                                                db1 = openOrCreateDatabase("Actions",SQLiteDatabase.OPEN_READONLY, null);
                                                /*Cursor mCount= db1.rawQuery("SELECT Count(*) from Actions WHERE IdEventoDefinido = " + listaEventosDefinidos.get(position).getId(), null);
                                                mCount.moveToFirst();
                                                int cantidad = mCount.getInt(0);
                                                mCount.close();*/

                                                db1 = base1.getWritableDatabase();
                                                db1.execSQL("DELETE FROM Actions WHERE IdEventoDefinido = " + listaEventosDefinidos.get(position).getId());

                                                  if(db1!=null){
                                                        db1.close();
                                                }   




                                               EventosDefinidosSQLite base = new EventosDefinidosSQLite(ActividadPrincipal.this, "EventosDefinidos", null,1);
                                                SQLiteDatabase db = base.getWritableDatabase();

                                                String miQuery = "DELETE FROM EventosDefinidos WHERE Id = " + String.valueOf(listaEventosDefinidos.get(position).getId());

                                                for (int i = 0;i<listaActions.size();i++)
                                                {
                                                    if (listaActions.get(i).getIdEventoDefinido() == listaEventosDefinidos.get(position).getId())
                                                    {
                                                    removerActionEnLista(listaActions, listaActions.get(i), listaActionsEliminadas);
                                                    }
                                                }
                                                removerEventoEnLista(listaEventosDefinidos, listaEventosDefinidos.get(position));


                                                db.execSQL(miQuery);
                                                ordenarArrayEventosDefinidosEliminados();
                                                ordenarArrayActionsEliminadas();
                                                contadorDePosicionesEventos += 1;
                                                ActualizarActions();
                                                ActualizarEventosDefinidos();
                                                //adapterAccionesDefinidas.notifyDataSetChanged();

                                                dialog.cancel();
                                           }
                                       })
                                       .setNegativeButton("No", new DialogInterface.OnClickListener() {
                                           public void onClick(DialogInterface dialog, int id) {
                                                dialog.cancel();
                                           }
                                       });
                                    AlertDialog alert = builder.create();
                                    alert.show();
                                }
                            }
                        return false;
                    }


                 }); 






    }

    //Métodos de actualización para cuando se crea Action/Accion/Evento
    public void ActualizarActions(){
        Log.e("Actualizar Actions", "Entró");
        ActionsSQLite base = new ActionsSQLite(getApplicationContext(), "Actions", null,1);
        SQLiteDatabase db1 = base.getReadableDatabase();
        db1 = openOrCreateDatabase("Actions",SQLiteDatabase.OPEN_READONLY, null);
        Cursor c1 = db1.rawQuery("SELECT * FROM Actions", null);

        listaActions.clear();
        AdapterActions ActionsAdapterVacio = new AdapterActions(this, listaActionsVacia, listaActionsEliminadas);
        listView.setAdapter(ActionsAdapterVacio);
        try{
            if(c1!=null){

                int i = c1.getColumnIndexOrThrow("Id");
                int j = c1.getColumnIndexOrThrow("IdAccionDefinida");
                int k = c1.getColumnIndexOrThrow("IdEventoDefinido");
                int l = c1.getColumnIndexOrThrow("Activa");
                boolean esActiva;

                //Nos aseguramos de que existe al menos un registro
                while(c1.moveToNext()){
                    if (c1.getInt(l) == 0){
                        esActiva = false;
                    } else
                    {
                        esActiva = true;
                    }
                    //Recorremos el cursor hasta que no haya más registros
                    Action Action = new Action(c1.getInt(i), c1.getInt(j), c1.getInt(k), esActiva);
                    listaActions.add(Action);
                }
            }
            else 
                Toast.makeText(getApplicationContext(), 
                          "No hay nada :(", Toast.LENGTH_LONG).show();
          }
          catch (Exception e){
            Log.i("bdActions", "Error al abrir o crear la base de datos " + e); 
          }

          if(db1!=null){
                db1.close();
        }   

          adapterActions = new AdapterActions(this, listaActions, listaActionsEliminadas);
            listView.setAdapter(adapterActions);



    }


    public static void removerActionEnLista(ArrayList<Action> listaActions, Action ActionAEliminar, ArrayList<Integer> listaActionsEliminadas)
    {
        for (int i=0;i<listaActions.size();i++)
        {
            if (listaActions.get(i).getId() == ActionAEliminar.getId())
            {
                listaActions.remove(i);
                listaActionsEliminadas.add(ActionAEliminar.getId());
                break;
            }
        }
    }
}

0 个答案:

没有答案