Activities und ihre Methoden

  • 27 Antworten
  • Letztes Antwortdatum
Im TextView steht standard-mäßig "Rufnummer eingeben". Dann klickt der Anwender auf den Button "Ändern" und ein AlertDialog mit Eingabe öffnet sich, wo dann die gewünschte Rufnummer eingegeben wird. Da Rufnummern eine unterschiedliche Länge haben, soll die letzte Ziffer IMMER am rechten Ende des TextViews steht, sodass ich immer einen festen Abstand von der letzten Ziffer zum Rand der Applikation habe... hoffe ich habe mich verständlich ausgedrückt.
Die rechte Ziffer soll ganz alleine rechts stehen? Oder soll der TEXT RECHTSBÜNDIG sein? Das ganze im Custom-Dialog?
Aber ganz ehrlich, was soll das ganze? Denkst du nicht der Nutzer ist total verwirrt, wenn plötzlich seine erste Zahl von rechts geschrieben wird :o Sind ja nicht im arrabischen oder so ^^

Gruß

€dit: Screenshots sagen mehr als tausend worte ;)
 
Also vielleicht habe ich mich unglücklich ausgedrückt...
Der TEXT soll rechtsbündig im TextView stehen. Habe ich jetzt aber anscheinend doch nach viel Fummelei hinbekommen. Außerdem habe ich geschrieben: die letzte Ziffer soll am rechten Ende stehen und nicht die erste :p

Noch eine Frage zu den Timern und speichern in den SharedPreferences... womit realisiere ich das am besten? Mit einem CountDown? (Gibt es überhaupt einen speziellen Countdown? In C war die Initialisierung und Anwendung von Timern immer so simpel :( ) Ich habe schonmal auf der Seite Android-Developers geguckt und mich da ein wenig eingelesen. Funktioniert aber irgendwie nichts bzw. ich kann nicht viel mit anfangen.
 
Speicher doch den UnixTimeStemp...
Code:
if(aktuellerTimeStep >= alterTimeStep+30) {
   // Darf wieder senden 
} else {
   // Darf noch nicht senden
}

Gruß
 
Also zur Problematik...:

Meine ersten Versuche haben so angefangen:

Timer timer = new Timer();
timer.schedule(new Task(), 2000);

Wobei "Task()" einer kompletten neuen Klasse entspricht, die von TimerTask erbt ("extends"). Durch den Code wird, wenn ich alle richtig verstanden habe, die Methode "run" in der neu angelegten Klasse Task() aufgerufen und ausgeführt - das ganze nach 2000ms, also 2 Sekunden. Ich kann hier nur keine Toasts anlegen oder Intents ausführen... ich vermute mal weil ich nicht gleichzeitig von TimerTask und Activity erben kann... ich fürchte dass ich mich für mein Vorhaben auf dem Holzweg befinde...


Bezüglich des UnixTimeStemp habe ich bislang nur rausgefunden, dass es sich hierbei um die im System gespeicherte Zeit handelt, diese aber in einem etwas anderen Format abgelegt ist - ist das so richtig?

MfG

P.s.: Entweder ist die SuFu hier wirklich total für'n .... oder ich komm damit einfach nicht zurecht :glare:
 
Zuletzt bearbeitet:
hmm.. du kannst mit
Date now = new Date();
now.getTime()
die aktuelle Zeit in Millisekunden seit 1.1.1970 0:00 holen.
Wenn du die speicherst kannst du beim nächsten mal vergleichen ob die (dann) alte zeit + die Zeitspanne in Millisekunden die du ein erneutes Senden verhindern willst kleiner ist als die aktuelle Zeit.

Genau wie StefMa das geschrieben hat.
Da du auf dem gleichen System bleibst ist das kein Problem.
Gut jetzt könnte der Anwender hingehen und sagen wir bei 3 Minuten Sperre seine Systemzeit um 3 Minuten vorstellen, aber ich denke damit kann man leben.
 
amfa schrieb:
Date now = new Date();
now.getTime()
die aktuelle Zeit in Millisekunden seit 1.1.1970 0:00 holen.

Oehm: System.currentTimeMillis(); ?
 
Stimmt tut's auch.
Noch besser wäre dann wohl System.nanoTime()
Damit ist dann auch egal ob der Benutzer seine Systemzeit umstellt ;)
 
Zurück
Oben Unten