1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Eigenen Listener erstellen ..???

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von BFK, 19.12.2011.

  1. BFK, 19.12.2011 #1
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Hallo Forum,
    folgendes Problem..:
    Habe eine abgeleitete Klasse, sagen wir Klasse_1, die verschiedene eigene Methoden, Variabeln usw besitzt.
    Einer dieser Variablen ist eine int-Variable, sagen wir "varInt" die dazu gehörige Methode um dieser Variablen einen Wert zu vergeben ist wie üblich "setvarInt" und die jeweilige Methode um den Wert auszulesen ist "getvarInt".
    Diese variable ändert ständig zur Laufzeit ihren Wert (ohne, dass ich Sie ändere). Ich suche jetzt einen Weg um zu erkennen, wann das passiert, also wann ändert diese Variable ihren Wert..?

    Wie kann ich vorgehen..?
    Mein erster Gedanke war ein eigener Listener, der ja ständig "getvarInt" aufruft um zu checken ob sich der Wert geändert hat.
    Aber ich komm da nicht so richtig weiter. Ein Ansatz wäre nicht schlecht..!

    Danke

    -MFG BFK-
     
  2. v Ralle v, 19.12.2011 #2
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Hm ständig die Variable abfragen (also in einer Art Pull), kann sehr CPU lastig werden. Wie wird denn der Wert der Variable gesetzt? Wenn es wirklich nur über die Setter erfolgt, kannst du die setter Methode überschreiben und dich reinhängen.
     
  3. BFK, 19.12.2011 #3
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Ich weiss nicht wie der Wert gesetzt wird, das ist das eine Problem.

    Ein zusätliche Info wär noch, dass es einen Listener gibt, der aber vor dem ändern der Variable "tätig" wird. Also so gesehen, weiss ich wann die geändert wird, aber immer vor dem Ändern.
    Ich will aber nach dem ändern zugreifen können.

    Und ja du hast recht, ständig die Variable abzufragen ist nicht klug.
     
  4. v Ralle v, 19.12.2011 #4
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Tut mir Leid, das klingt alles ziemlich gruselig ^^ Hilft dir denn nicht der Debugger? So kannst du die Variable tracken. Und Eclipse zeigt doch auch an, wo die variable überall verwendet wird und wer den Getter benutzt. Das sollte doch herauzufinden sein.
     
  5. BFK, 20.12.2011 #5
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Also ich habe wie du gesagt die Set und Get - Methode überschrieben und herausgefunden, dass diese Methoden garnicht aufgerufen werden.

    Also meine Variable wird warscheinlich intern geändert.
     
  6. v Ralle v, 20.12.2011 #6
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Sehr schlecht, du musst doch aber sehen wo. Setz die Variable doch mla auf private. Da siehst du, wo es kracht ;)
     
  7. BFK, 20.12.2011 #7
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Das kann ich ja nicht.
    Um ein bishen pränziser zu werden. Ich leite eine Klasse mittles extends einer anderen Klasse ab, die ich selber nicht geschrieben hab, also die Oberklasse befindet sich in enem package die von einem anderen Entwickler geschrieben wurde...ich benuzte NUR seine Klassen.
    Wenn ich jetzt seine Klasse erweitere, erbt ja meine Klasse, die Methoden der Oberklasse, somit kann ich mittels "Override" die Methoden der Oberklasse erweitern, aber auf auf dessen Werte kann ich ja nicht direkt zugreifen. (nur mittles set)


    Stimmt das, oder habe ich irgendwo einen Gedankenfehler..?
     
  8. v Ralle v, 20.12.2011 #8
    v Ralle v

    v Ralle v Android-Lexikon

    Beiträge:
    913
    Erhaltene Danke:
    199
    Registriert seit:
    27.08.2010
    Ja genau, so sollte das sein. Wenn der Entwickler der Oberklasse dann aber nicht die setter Methoden verwendet und direkt die Variable ändert, hast du sozusagen Pech. Handelt es sich um eine Klasse des Android SDK? Liegt dir der Quellcode vor?
     
    BFK bedankt sich.
  9. BFK, 20.12.2011 #9
    BFK

    BFK Threadstarter Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Es handelt sich um das Nutiteq-SDK Mobile Map API SDK Guides | Nutiteq
    Und nein der Quellcode steht nicht offen, zumindenst nicht der ganze.

    Werde mich mit den Entwickler in Kontakt setzen, wollte ich sowieso machen, habe ja hier im Forum nur gefragt, weil ich dachte, dass es etwas geben könnte womit man das ganze umgehen kann (irgendwas standartmässiges in solchen Fällen).

    Na egal, auf jeden Fall DANKE für deine Mühe und deine Zeit..!

    -MFG BFK-


     

Diese Seite empfehlen