Android静态内部片段和接口

时间:2014-06-17 23:47:08

标签: android android-fragments

通过阅读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
    }

}

给我一​​个循环依赖错误。什么是正确的设计?

1 个答案:

答案 0 :(得分:1)

如果fragment已经是inner class,那么该片段无需实施interface只是为了与activity进行通信。如果它是内部类,您可以直接与Fragment中的MyActivity进行通信。

如果它是一个单独的类,那么您可以实现一个与活动通信的接口。