2012-11-30 88 views
0

我的應用程序包含兩個類:MainActivity,Activity2。
Activity2需要訪問MainActivity的非靜態方法。怎麼做?如何從Android中的其他Activity訪問Class方法?

我是新來的Java和Android,如果可以的話,請爲初學者解釋清楚該做什麼。
提前感謝您。

+0

有這麼多的例子在網上學習的基礎知識,只是搜索它 –

回答

1

,而不是從你應該使用Bundles從ActivityA傳遞值,當B從A

另外,如果你想重用代碼,您應該創建一個非活動對象開始ActivityB不同的活動調用方法,其你可以創建兩個實例。假如你在兩個活動中都做了大量的計算,你可以把你的計算代碼放在一個「計算」對象中。只需像啓動其他Java對象一樣啓動它。請注意,這兩個實例不會在彼此之間共享任何數據。

Calculate calc = new Calculate(); 
calc.codeIdLikeToReuse(numbersAndStuff); 

希望這會有所幫助。我建議您閱讀Activity Life Cycle以瞭解活動的生活方式。

+0

謝謝,我會再讀一遍,並嘗試一下你的建議。 – Dennis

0

使用撒施接收器調用不同的活動方式,你可以找到幫助here 和一個example

0

基本上,你不能這樣做。兩種活動不以這種方式進行交流。通常,一次只有一個活動存在(也可能不總是這樣)。真正的答案是使用Intents。

你應該閱讀一些基本的Android教程,如anddev book

+0

謝謝你的幫助!實際上,我想調用的方法是顯示一個通知,我認爲創建同樣的方法是浪費的,具有相同的目的 - 兩次。 – Dennis

+0

是的你是對的,但那是不同的。在這種情況下,你應該考慮一些繼承或一些組合(這是更好的)。將該方法提供給另一個實體,並在兩個活動中調用它。這就是@Hermith所說的。 – Snicolas

+0

並閱讀本書。這真的很值得,這是我第一次閱讀Android,並且幫助我獲得基礎知識。 – Snicolas

相關問題