android循环继承涉及片段活动和主要活动之间

时间:2018-09-08 09:49:10

标签: java android android-fragments

简单地说,我有2个片段A和B和1个MainActivity。 MainActivity同时实现A&B界面 但是,当我尝试实现MainActivity接口中的片段A的接口时,它说:

  

涉及“片段A活动”的循环继承

我已经搜索了另一个类似的问题,但是对于我来说似乎还是行不通的。顺便说一句,我想这样做是因为我想将Custom ArrayList传递给Fragment A Activity。

这是我的代码

主要活动:

public class MainActivity extends AppCompatActivity
    implements MostPopularArticle.OnFragmentInteractionListenerMP,
    LatestArticle.OnFragmentInteractionListener {

    public interface MainActivityFliterMethod {
        void FilterList(ArrayList<getSetListValueData> getSetListValueData);
    }
 }

片段代码

public class MostPopularArticle extends Fragment implements 
MainActivity.MainActivityFliterMethod {
    public interface OnFragmentInteractionListenerMP {
        // TODO: Update argument type and name
        void onFragmentInteractionMostPopular(ArrayList<getSetListValueData> arrayList);
    }
}

1 个答案:

答案 0 :(得分:0)

通常,IDE应该指示循环引用……它可能与此默认的example类似,而将接口放入其自己的文件通常会更容易。并且您必须以某种方式将Activity的侦听器传递到Fragment中,以便可以从那里触发它。

public interface FragmentInteractionListener {
    void onFragmentInteractionMostPopular(ArrayList<getSetListValueData> arrayList);
}

public interface FilterMethod {
    void FilterList(ArrayList<getSetListValueData> getSetListValueData);
}

public class MainActivity extends AppCompatActivity implements FragmentInteractionListener {

    /** Constructor */
    public MainActivity() {}

    @Override
    void onFragmentInteractionMostPopular(ArrayList<getSetListValueData> arrayList) {

    }
}

public class MostPopularArticle extends Fragment implements FilterMethod {

    private FragmentInteractionListener mListener;

    /** Constructor */
    public MostPopularArticle(Context context, FragmentInteractionListener listener) {
        this.setContext(context);
        this.mListener = listener;
    }

    @Override
    void FilterList(ArrayList<getSetListValueData> getSetListValueData) {

    }
}