Funkion für mehrer Klassen ->Vererbung, static??

T

themed

Neues Mitglied
0
Hallo Androiden...

Ich hab ein Tablayout mit 3 Activities und meherern Sub-Activities.
Ich möchte jetzt zum Beispiel das Menü und auch andere Funktionen für alle Klassen zur Verfügung stellen.

da aber fast jede Activity bereits von (Listactivty, Activity) erbt, scheitert mein Plan mit dem vererben wohl...

Auch das Stichwort static soll nicht untergehen. Hier hatte ich aber auch keinen Erfolg. Die Funktion onKeyDown (die ja den context der gerade aktiven Activity benötigt) wohl nicht statisch ansprechen kann...

Gebt mir mal einen Denkanstoß, wie Ihr Funktionen für alle Klassen zur Verfügung stellt.

Vielen Dank
med
 
Wenn es von einer Klasse nur ein Objekt geben soll, schau dir mal "Singleton Pattern" an. Das ist eine Klassenstruktur die ein Objekt von sich selbst trägt und überall verfügbar ist.

Beispiel
PHP:
package com.puregame.utils;

public class Helper
{
    // Instanz von sich selbst
    private static Helper instance = null;
    
    // deine Member
    int xyz;
    
    public Helper()
    {
    initialize();
    }
    
    private void initialize()
    {
    // initialisierungen
    xyz = 20;
    }
    
    // gibt dir die Instanz zurück
    public static Helper i()
    {
    if (instance == null)
    {
        instance = new Helper();
    }
    
    return instance;
    }
    
    // Methoden die du brauchst
    public int getXYZ()
    {
    return xyz;
    }
}

Jetzt kannst du von überall aus folgendes aufrufen
PHP:
Helper.i().getXYZ();

// oder
Helper tempHelper = Helper.i();
tempHelper.getXYZ();

Das solltest du aber, wie gesagt, nur nutzen, wenn du davon auch nur eine Instanz hast.

MFG t.
 
Oder einfach die Methoden direkt static machen.
 
geht natürlich auch, hat aber den nachteil, dass alle member die in dieser methode verarbeitet werden auch static sein müssen und alles was static ist, verbraucht mehr rechnenzeit.
 

Ähnliche Themen

netfreak
  • netfreak
Antworten
10
Aufrufe
438
netfreak
netfreak
5
Antworten
0
Aufrufe
1.117
586920
5
Y
Antworten
4
Aufrufe
1.188
swa00
swa00
Zurück
Oben Unten