In einer snackbar Aktion, wie kann ich sicher sein, dass es sicher ist, dauerhaft löschen und einen soft-gelöschte Datensatz aus der Datenbank?

Ich bin mit Snackbar in android und ich habe umgesetzt, eine Aktion, so dass Benutzer kann die Aktion rückgängig machen (die Aktion ist löschen alle Elemente in der listview).Das entfernen und hinzufügen der Elemente zurück in die listview ist bereits fertig und funktioniert Prima.

Mein Problem ist, dass die Elemente gespeichert, die in sqlite-Datenbank und wie kann ich die Elemente löschen von Tabellen? (Wie kann ich wissen, dass der Benutzer nicht geklickt die Schaltfläche rückgängig, so dass ich vollständig zu entfernen, die Daten aus der Datenbank).

Dies ist der code, der in OnOptionsItemSelcted()

case R.id.action_clear:
        final List<Word> temp = new ArrayList<Word>(data);
        data.clear();
        adapter.notifyDataSetChanged();
        View view = findViewById(R.id.layoutFavWords);
        Snackbar.make(view,"Deleted Saved Selection.", Snackbar.LENGTH_LONG).
        setAction("Undo", new OnClickListener() {

            @Override
            public void onClick(View v) {
                for(Word word:temp)
                    data.add(word);
                adapter.notifyDataSetChanged(); 
            }

        }).show();
        break;

Also, wenn der Benutzer nicht klickt den button "rückgängig", während die sichtbare Zeit der Imbissstube, dann brauche ich, um dauerhaft zu löschen Daten aus der Datenbank.

Irgendwelche Lösungen dafür?

  • löschen Sie Sie sofort und setzen Sie Sie wieder ein, wenn das drücken auf rückgängig machen ?
  • ja, eine weitere option. Aber gibt es eine Möglichkeit, das zu erreichen, was ich will?? löschen Sie nur, wenn der Benutzer noch nicht angeklickt rückgängig btn
  • imo seine gut genug. Sie davon ausgehen, dass der Benutzer weiß, was er will, aber er kann seine Meinung ändern (rückgängig machen). Oder möchten Sie wahrscheinlich ein confirm-like snackbar. Suchen Sie in der Dokumentation sieht es nicht viel mehr als ein Toast
  • Ich habe zu tun, wenn es keine Möglichkeit gibt, es zu erreichen, wie die. Danke für die Antwort
  • Sie möchte eine Art entlassen Ereignis, das nicht verfügbar ist, zumindest in der Dokumentation,
  • Was passieren wird, wenn Benutzer Daten löschen und dann töten Sie Ihre app? Die Datensätze bleiben in der db, das ist nicht richtig, löschen-Taste, so sollen entfernen die Datensätze sofort und Sie brauchen, um zu retten temp dieser Aufzeichnungen für "RÜCKGÄNGIG", auf " RÜCKGÄNGIG ausgewählt, müssen Sie es in der db wieder und die Liste neu laden.

InformationsquelleAutor chathura | 2015-06-25
Schreibe einen Kommentar