2013-12-12 68 views
0

在Java中,你可以傳遞函數作爲參數,如果你想傳遞一個函數到另一個活動呢?這是可能的,例如使用Intent.putExtra?傳遞函數作爲一個額外的Android intent

+2

你能提供一個你是什麼意思的例子,因爲我認爲你可能會對你的意思感到困惑 – tyczj

+0

我認爲有策略來實現這個目標? http://stackoverflow.com/questions/4685563/how-to-pass-a-function-as-a-parameter-in-java – Chicowitz

+2

是的,你可以使用該策略。這是我在下面的答案中提到的。然而,要清楚的是,它不是被傳遞的函數,它是實現特定感興趣功能的對象。 – EJK

回答

4

「在java中,你可以傳遞函數作爲參數......」。這是不正確的。 Java不支持這一點。

您可以傳遞特定接口的對象,然後在該對象上調用該接口方法。只要你使這個特定的接口是可序列化的或者可以Parcelable的,那麼你可以通過一個意圖傳遞它的一個實例。

+0

執行和響應。 「Callable」接口的實例可以通過「Parcelable」傳入:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Callable.html – Trinimon

+0

基本上可以在Java 8中,這是即將發佈的版本。請參閱http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html和http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html。 –

相關問題