2012-09-13 39 views
0

執行活動的公共方法I有一個片段,其應該從活性它是從被稱爲片段執行(公共)方法reset()從片段

我發現,例如,這個頁面: Calling Activity methods from Fragment 另一種方法沒有任何問題:

Input_tap Input_tap = (Input_tap) getFragmentManager().findFragmentById(R.id.input); 
Input_tap.reset(); 

是否有人有任何想法如何做到這一點的其他方式? 和:是否該方法必須是公共 - 它是一個「空白」的方法?

回答

1

一個Fragment可以撥打getActivity()檢索托管它的活動。

如果只有一個可承載的片段,只投了Activity到適當的類可能活動(例如,MyActivity),並在其上調用的方法:

((MyActivity)getActivity()).someMethod(); 

如果有可能超過可託管片段一個活動,你最好通過實現在所有這些活動的共同interface服務,這樣你就可以getActivity()的結果映射到該接口:

((MyInterface)getActivity()).someMethod(); 
+0

非常感謝你。這就是我一直在尋找的。 – Alrick