Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Schließen eines Views aus einer fremden Class

Das Thema "Schließen eines Views aus einer fremden Class" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 08.07.2009, 15:37   #1 (permalink)
Junior Mitglied

Registriert seit: 07.06.2009
Beiträge: 40
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Schließen eines Views aus einer fremden Class

Hi,

ich habe versucht eine View zu schließen von einer anderen Class wie folgt:
Code:
public static void EndMethod(){
 finish();
}
leider ist finisch eine non-static Methode sodass es nicht geht!
Hat jemand eine Lösung?
Tai ist offline   Mit Zitat antworten
Alt 08.07.2009, 20:51   #2 (permalink)
Erfahrener Benutzer

Registriert seit: 25.06.2009
Beiträge: 212
Abgegebene Danke: 4
Erhielt 13 Danke für 11 Beiträge
Standard AW: Schließen eines Views aus einer fremden Class

Zitat:
Zitat von Tai Beitrag anzeigen
Hi,
leider ist finisch eine non-static Methode sodass es nicht geht!
Klar geht das nicht, denn finish() benötigt eine Instanz - nämlich die, die geschlossen werden soll. Statische Methoden sind aber instanzlos. Wie willst du mit einer intanzlosen Funktion eine bestimmte Instanz schliessen? Woher sollte die Funktion denn wissen, welches View geschlossen werden soll?

Du könntest natürlich die Instanz als Parameter übergeben, aber ich denke mal das hilft dir nicht weiter. Wenn du die Instanz hättest, könntest du ja auch direkt finish() aufrufen.


Zitat:
Hat jemand eine Lösung?
Beschreib doch mal genauer was du da eigentlich machen willst.
Temar ist gerade online   Mit Zitat antworten
Alt 08.07.2009, 20:57   #3 (permalink)
Junior Mitglied

Registriert seit: 07.06.2009
Beiträge: 40
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Schließen eines Views aus einer fremden Class

Also ich habe zwei Classen jede Classe hat eine eigenen View. Meine Classe1 startet die Classe2! Jetzt will ich aber die Classe1 schließen von der Classe2 aus.

Das ist jetzt nur ein vereinachtes Modell! Es bring mir nichts, wenn du sagt ja denn schließt doch die Classe wenn du die Classe2 startest!

LG
Tai ist offline   Mit Zitat antworten
Alt 08.07.2009, 21:14   #4 (permalink)
Erfahrener Benutzer

Registriert seit: 25.06.2009
Beiträge: 212
Abgegebene Danke: 4
Erhielt 13 Danke für 11 Beiträge
Standard AW: Schließen eines Views aus einer fremden Class

Zitat:
Zitat von Tai Beitrag anzeigen
Also ich habe zwei Classen jede Classe hat eine eigenen View. Meine Classe1 startet die Classe2! Jetzt will ich aber die Classe1 schließen von der Classe2 aus.

Das ist jetzt nur ein vereinachtes Modell!
Extrem vereinfacht :-) Eigentlich meinte ich, dass du mal ein bisschen deine Architektur beschreibst - im speziellen, wie du denn die Klasse2 startest. Warum übergibst du nicht einfach eine Referenz auf Klasse 1, wenn du Klasse 2 von Klasse 1 aus startest:

Code:
public class Class1 {
    public void someFunction () {
        new Class2().start(this);
    }
}

public class Class2 {
    public void start (Class1 handle) {
        handle.finish();
        // alles was Class2 sonst noch macht
    }
}
Temar ist gerade online   Mit Zitat antworten
Alt 08.07.2009, 21:22   #5 (permalink)
Junior Mitglied

Registriert seit: 07.06.2009
Beiträge: 40
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Schließen eines Views aus einer fremden Class

Ne ich starte das ganz über einen Intent
Code:
Intent ky = new Intent(DetailView.this, PayView.class);
startActivity(ky);
Also für meine Beispiel Classe1 DetailView und Classe2 PayView
Tai ist offline   Mit Zitat antworten
Alt 08.07.2009, 22:03   #6 (permalink)
Erfahrener Benutzer

Registriert seit: 25.06.2009
Beiträge: 212
Abgegebene Danke: 4
Erhielt 13 Danke für 11 Beiträge
Standard AW: Schließen eines Views aus einer fremden Class

Zitat:
Zitat von Tai Beitrag anzeigen
Ne ich starte das ganz über einen Intent
Code:
Intent ky = new Intent(DetailView.this, PayView.class);
startActivity(ky);
Also für meine Beispiel Classe1 DetailView und Classe2 PayView
Also mir ist jetzt nichts bekannt, wie du rein über ein Intent eine Referenz übergeben kannst. Es gibt das Parcelable Interface mit dem du komplexere Datentypen übergeben kannst aber das ist dann keine richtige Referenz.

Wenn du aber nur zwischen 2 Views hin- und herschalten willst, dann tuts vielleicht auch der ViewFlipper: ViewFlipper | Android Developers
Temar ist gerade online   Mit Zitat antworten
Alt 09.07.2009, 00:39   #7 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 03.07.2009
Beiträge: 89
Abgegebene Danke: 0
Erhielt 16 Danke für 3 Beiträge
Standard AW: Schließen eines Views aus einer fremden Class

finishActivity() mit explizitem Request-Code könnte funktionieren. Ansonsten gibt es noch finishActivityFromChild(), das ich aber noch nie verstanden habe.
__________________
A World Of Photo - Casual Social Geo Multiplayer Game.
Faszinierende Bilder von Flickr - als Widget.
Autostarts managen.
miracle2k ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht





Du liest gerade: "Schließen eines Views aus einer fremden Class" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.