通过阅读Android文档http://developer.android.com/guide/components/fragments.html,片段似乎应该是一个静态的内部类。它们似乎也应该使用接口与活动进行通信。当我尝试两者时,我得到循环依赖。
public class MyActivity extends FragmentActivity implements MyFragment.Listener{
// Activity methods
@Override
public void foo(){
}
static class MyFragment extends Fragment{
interface Listener{
public void foo();
}
// Fragment Methods
}
}
给我一个循环依赖错误。什么是正确的设计?
答案 0 :(得分:1)
如果fragment
已经是inner class
,那么该片段无需实施interface
只是为了与activity
进行通信。如果它是内部类,您可以直接与Fragment中的MyActivity
进行通信。
如果它是一个单独的类,那么您可以实现一个与活动通信的接口。