Eigenen Listener erstellen ..???

B

BFK

Fortgeschrittenes Mitglied
11
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-
 
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.
 
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.
 
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.
 
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.
 
Sehr schlecht, du musst doch aber sehen wo. Setz die Variable doch mla auf private. Da siehst du, wo es kracht ;)
 
v Ralle v schrieb:
Sehr schlecht, du musst doch aber sehen wo. Setz die Variable doch mla auf private. Da siehst du, wo es kracht ;)

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..?
 
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?
 
  • Danke
Reaktionen: BFK
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-


http://www.nutiteq.com/mobile-map-api-sdk-guides
 

Ähnliche Themen

5
Antworten
0
Aufrufe
1.142
586920
5
R
Antworten
6
Aufrufe
996
swa00
swa00
W
Antworten
2
Aufrufe
739
rene3006
R
Zurück
Oben Unten