Ich habe mehrere Klassen (z. B. Realm-Tabellen). Ich verarbeite jedes auf die gleiche Weise (siehe Code unten).Klassenverarbeitung, wiederkehrender Code
Ändern Sie nur den Namen der Klasse: Ticket.class
, weiter wird es SecondTable.class
und so weiter. Klassennamen sind im Voraus bekannt.
Q1. Wie mache ich eine Methode mit einer Klasse als Argument?
Q2. Oder wie kann ich etwas wie "für jeden [Klassen] tun ..." tun?
Realm realm = Realm.getDefaultInstance();
RealmResults<Ticket> tickets = realm.where(Ticket.class).findAll();
realm.beginTransaction();
for (int i = tickets.size() - 1; i >= 0; i--) {
if ... {
Notification notification = new NotificationCompat.Builder(this)...;
StartMyAsyncTask().execute(tickets.get(i));
// etc...
// delete from DB
tickets.get(i).removeFromRealm();
}
}
realm.commitTransaction();
Und die Ticket
Klasse wie folgt aussieht:
public class Ticket extends RealmObject {... }
öffnen Sie die Transaktion ** vor ** die Abfrage – EpicPandaForce