我在我的android應用程序中使用片段。目前,我有兩個片段以分割視圖樣式顯示,我們可以調用片段A和片段B.片段B經常更改,並且可以更改許多不同類型的片段。在不知道類類型的情況下調用對象的方法
我正在尋找調用碎片B上的方法。這種方法存在於大多數但不是所有可以顯示的碎片類型中。
以下是我有:
FragmentManager fm = getSupportFragmentManager();
Fragment frag = fm.findFragmentByTag("ContentFrag");
if (frag != null) {
if (frag.getClass().equals(ExampleFragment1.class))
((ExampleFragment1)frag).refresh();
else if (frag.getClass().equals(ExampleFragment2.class))
((ExampleFragment2)frag).refresh();
else if (frag.getClass().equals(ExampleFragment3.class))
((ExampleFragment3)frag).refresh();
}
這裏是我想什麼:
FragmentManager fm = getSupportFragmentManager();
Fragment frag = fm.findFragmentByTag("ContentFrag");
if (frag != null) {
frag.refresh();
}
是否有實現這一目標的任何方式或將我寫的if語句的負載?
感謝
偉大的思想家都會想:P看到你的回答讓我意識到我忘了演員! – user1646196
主要問題是你不能用android框架推理,作爲最後的手段,你必須做這樣的醜陋的事情。這就像'Canvas''' drawLine'方法,與任何矢量繪圖庫相比,大多數時候都有'moveTo'和'lineTo'方法,這是遠遠不明智的。 –