German 2 kleine Fragen

Claus

Member
Licensed User
Longtime User
Hallo zusammen


1te Frage.
Ich möchte das ein Text in einem Label eine
bestimmte Ausrichtung hat, nämlich das die Zahlen
schön untereinander stehen:

Beispiel:

Artikel1 20.0
Summe2 12.0
_____________
Gesamt 32.0

Mit TAB funktioniert das nicht auf verschiedenen Phones ...
hat da jemand vielleicht eine Idee?


2 Frage:
Kann ich von einer Activity aus eine andere Activity schliessen?
Sowas wie 'Activity("Name").Finish'
Oder irgendwie abfragen ob eine bestimmte Activity geladen ist?

Gruß Claus ;o)
 

klaus

Expert
Licensed User
Longtime User
1) Versuche es mit :
B4X:
Label1.Gravity = Gravity.RIGHT
Label1.Typeface = Typeface.MONOSPACE
2) Nein.
Oder irgendwie abfragen ob eine bestimmte Activity geladen ist?
Was meinst Du hiermit, oder was willst Du damit machen ?

Beste Grüsse.
 

Claus

Member
Licensed User
Longtime User
Ich habe einen Service laufen mit einer Erinnerung.
Wenn der Anwender auf die Erinnerung klickt wird die App mit
der Main-Activity gestartet was auch super klappt. Mit dieser
Main-Activity wird auch eine Datenbank geöffnet.
Wenn der Anwender die App jedoch bereits offen hat und eine
Neben-Activity gerade aktiv ist, kommt mein gesamtes Handling
durcheinander, wenn dann die Main-Activity gestartet wird.
Deswegen dachte ich es wäre die beste lösung beim Start der
Main-Activity alle evtl. offenen anderen Activitys zu schliessen.
Vielleicht denke ich da jetzt aber zu Windowslastig..

Gruss Claus
 

RolandB

Member
Licensed User
Longtime User
Hallo Claus!

Kurze Beschreibung was geschieht:

1. Nebenactivity läuft
2. Main-Activity startet
3. Nebenactivity geht in den Paused Zustand. Jetzt wird der Code in der Sub Activity_Paused ausgeführt

Falls du mehr drüber wissen willst:
Android Process and activities life cycle

Um zu überprüfen ob ein Service etc läuft kannst du den Befehl IsPaused benutzen.


B4X:
IsPaused(Component As Object) As Boolean
Tests whether the given component is paused. Will also return true for components that were not started yet.
Example:
B4X:
If IsPaused(Main) = False Then CallSub(Main, "RefreshData")

Hoffe ich konnte dir weiterhelfen ;)
 

Claus

Member
Licensed User
Longtime User
Danke für deine Erklärungen.
Die Tutorials und die Programmdokumentationen hatte ich
alle mal gelesen. Irgendwo hatte ich das auch schon in Erinnerung
aber die gesuchten Infos in der Dokumentation wiederzufinden
ist bei B4A ein bisschen schwierig weil das alles so verstreut mal in
einer Anfängerdoku oder mal in einem Tutorial steht.

In dem Activity-Livetimetutorial steht das pausierte Activitys
evtl. vom Betriebssystem zwangsweise beendet werden.
Deswegen wechsel ich zu einer anderen Activity grundsätzlich
mit :

Activity.finish
StartActivity("Name")

ist das falsch??

Gruss Claus
 

klaus

Expert
Licensed User
Longtime User
Activity.Finish
StartActivity("Name")
Ist schon richtig, aber es kommt darauf an wie sich das Programm verhalten soll.
Wenn Du Activity.Finish einfügst musst Du auch in jeder Activity, anders als Main, StartActivity("Name") in Activity_Pause einfügen wenn UserClosed = True ist. Sonst weiss das Programm nicht wo es hin soll. Darf aber nicht bei einem drehen der Gerätes in die andere Activity umwechseln.
Ich benutze Activity.Finish nur wenn Ich das Programm verlassen will, den Rest überlasse Ich dem OS. Ohne Activity.finish geht das Programm in die aufrufende Activity zurück wenn man den Back Button drückt

Best Grüsse.
 

Claus

Member
Licensed User
Longtime User
Prima.
Langsam klickts immer häufiger bei mir....

Du solltest Dir einen Donationbutton einbauen.
Deine Erklärungen sin echt was wert..
;o)

Gruss Claus
 

klaus

Expert
Licensed User
Longtime User
B4X:
Du solltest Dir einen Donationbutton einbauen.
Das will Ich eben nicht !
Ich mache es weil es mir Spass macht.
Ich habe in der letzen Zeit mehr Freude kleine Sachen 'auszumerzen' als grosse Projekte zu erstellen.
Ich habe keine Programme in Play Store und es wird auch keine geben.

Beste Grüsse.
 
Top