2014-01-30 45 views
0

我想知道如何從MAIN活動調用方法到CURRENT(打開,在屏幕上,在堆棧頂部)活動?當前活動中的調用方法

例如主要活動是ActivityA,我打開另一個活動 - 它是ActivityBActivityC或任何其他。在ActivityA是處理程序(或計時器),當發生什麼事情時,我想打電話給methodInActiveMethod()

我發現例如:

class MainActivity extends Activity 
{ 
    public void myMethod() 
    { 
     MyActivity.runMyMethod(); 
    } 
} 


class MyActivity extends Activity 
{ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
    } 

    public static void runMyMethod() 
    { 
     //Run code... 
    } 
} 

而且它正常工作,但我不知道如何發送方法類似anyActivityOnTop.runMyMethod()

(PS:我會用代碼的答案感激)

+0

如果你的意思是「借」的操作方法的代碼你目前活動的背景,你可以 - 有點尷尬 - 做你正在做的事情。但是如果你想在它自己的活動的上下文中運行該方法,你應該使用一個'Intent'來切換到該活動,並添加將根據Intent的參數激活該代碼路徑的邏輯。 –

+0

但是不是'specificActiviti.method()'我想要使用像'anyActivityOnTop.method()'一樣的「UNIVERSAL」調用,並且我問我如何實現這個 – droid

+0

不合作地確定頂級活動的方法被認爲是不可靠的。但是如果你正在調用你的一個活動的方法,你可以讓每個可能的活動的onResume()方法更新共享的東西,以表明這是現在最重要的活動。 –

回答

0

你可以嘗試實現監聽器和調用,當你需要

+0

我想知道如何實現它 - 我應該從第一個活動發送味精到另一個,並在第二個列表中爲它?或意圖? (我需要將主要活動的「數據」發送到另一個ALREADY OPENED活動) – droid