2016-09-23 65 views
0

好的,所以我有一個片段,其中我使用getActivity().getClass().getSimpleName()來獲取包含它的活動的名稱。 現在,我在該活動中有一個名爲sampleMethod()的方法,並且從我使用的片段中調用它((MyActivity) getActivity()).sampleMethod();此工作正常。使用動態活動名稱,同時從片段調用它的方法

我的問題是,如何動態地在語句((MyActivity) getActivity()).sampleMethod();中使用活動名稱。顯然,我確實從getActivity().getClass().getSimpleName()得到了名字。 所以我想是一樣的東西

`((getActivity().getClass().getSimpleName()) getActivity()).sampleMethod(); 

在語法上,上面是不正確。什麼是正確的方法?

+0

我認爲getActivity()。的getClass()。getSimpleName()這將返回活動的名稱字符串。 –

+0

「什麼是正確的方法?」 - 使用'interface'與託管'Activity'進行交互。 https://developer.android.com/training/basics/fragments/communicating.html#DefineInterface –

回答

1

所有包含該片段應實現一個接口的活動,讓我們說

interface Sample { 
    public void sampleMethod(); 
} 

然後在片段

((Sample)getActivity()).sampleMethod();