2012-09-27 11 views
9

Ich habe und App mit mehr als 10 Aktivitäten und ich möchte die Methode onResume() mit dem gleichen Code in allen außer Kraft setzen.Override OnResume() -Methode aller Aktivitäten Android

Ich weiß, dass ich diese Methode in jeder Aktivität überschreiben kann, aber ich suche nach einer effizienten Lösung.

Außerdem würde ich in dieser wie onResume eine Meldung abhängig, welche Aktivität herkommt, zum Beispiel: Wenn Sie in der MainActivity sind Ich möchte, dass diese gemeinsame onResume dass erkennt aus dieser Tätigkeit kommt und zeigen I'm coming from MainActivity

Vielen Dank.

+0

Aber, wenn wir BaseClass erweitern, können wir keine andere Klasse erweitern, also kann meine Lösung die bessere sein? – Shrikant

+0

@Shrikant Nein, es ist nicht, weil es nicht funktioniert. Sie können 'onResume' dort definieren, aber Sie können dort keinen gemeinsamen Code einfügen. – zapl

+0

jede andere Klasse wie was, denn sowieso würden Sie Activity verlängern? – njzk2

Antwort

18

Sie sollten Override Aktivität in einem BaseClass und nutzen Sie Ihre BaseClass statt Aktivität in den anderen Aktivitäten:

public class BaseClass extends Activity 
{ 

    public void onResume() 
    { 
    // common code 
    } 
} 

public class OtherClass extends BaseClass 
{ 
} 
+0

Aber, wenn wir BaseClass erweitern, können wir keine andere Klasse erweitern, also kann meine Lösung die bessere sein? – Shrikant

+0

Warum müssen Sie andere Klassen erweitern? vorher dehnst du dich nur von activity na aus? –

+0

@EldhoseMBabu es ist OtherClass zu erweitern BaseClasas – Blackbelt

0

Machen Sie eine Aktivität Eltern und seine onResume außer Kraft setzen, dann machen alle Ihre 10 Aktivitäten der Creted Eltern erweitern.

+0

Nun möchte ich in diesem OnResume zeigen eine Nachricht abhängig davon, was Aktivität kommt, zum Beispiel: Wenn Sie in der MainActivity ich möchte, dass diese gemeinsame onResume erkennt, dass ist von dieser Aktivität kommen und zeigen "Ich komme von MainActivity" – user1677266