如何从活动中的片段管理onclicklistener?

时间:2014-07-20 16:53:40

标签: android android-fragments onclicklistener

我有一个问题,希望有人能解决。

我有4个片段用于1个活动,但只显示其中2个,所以我有按钮在这些片段之间导航。

所有点击必须在活动中执行,因此这知道要替换哪个片段啊所以" OnClickListener"必须实现" OnclickListener"活动。

我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

有一个标准的解决方案:

定义一个界面,比如ClickCallbacks:

interface ClickCallbacks {
    void onClick(stuff... );
}

在每个片段中,实现onAttach,如下所示:

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    try { clickListener = (ClickCallbacks) activity; }
    catch (ClassCastException e) {
        throw new ClassCastException(
            activity.toString() + " must implement ClickCallbacks");
    }
}

最后,在Activity中实现界面。

这里的碎片文档非常详细地描述了这一点:Fragments