我有一个问题,希望有人能解决。
我有4个片段用于1个活动,但只显示其中2个,所以我有按钮在这些片段之间导航。
所有点击必须在活动中执行,因此这知道要替换哪个片段啊所以" OnClickListener"必须实现" OnclickListener"活动。
我该如何解决这个问题?谢谢!
答案 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