2012-05-11 23 views
5

Mam pytanie w systemie Android podczas tworzenia aplikacji google-maps.Zamykanie działania z innej klasy

Mam jedno działanie jak poniżej

public class MapCallActivity extends MapActivity { 
    classA class = new classA(this); 
    classA.callMethod(); 
} 

classA jest zdefiniowana jak poniżej:

public class classA{ 
    public classA(Context context){ 
    this.myContext = context; 
} 

    void callMethod(){ 
     if (isFileValid) { 
     <do_something...>; 
     } else { 
     <call_the_activity's finish() method>; 
     } 
    } 
} 

Czy istnieje sposób, że mogę zrobić <call_the_activity's finish() method> tak że MapCallActivity zamyka?

Każda pomoc jest doceniana!

Odpowiedz

27
public class classA{ 
    public classA(Context context){ 
     this.myContext = context; 
    } 

    void callMethod(){ 
     if(isFileValid){ 

     }else{ 
      ((Activity)myContext).finish(); 
     } 
    } 
} 
+0

Czy nie istnieje sposób, aby rzucić dowolny obiekt, aby zamknąć go bezpośrednio? – curlyreggie

+0

jeśli inna Klasa ma odwołanie do tej Działalności. to może. Ale inne działania lub usługi nie mogą. –

+0

Dzięki za pomoc. Przerobiłem to pytanie, aby było teraz bardziej przejrzyste. Czy twój kod nadal będzie działał w tym? – curlyreggie