我在实现一个片段中定义的接口并将其用于另一个片段时遇到问题。我知道我需要通过活动来完成这项工作,但我已经在另一个片段中动态添加了片段。请查看快照以了解有关我的问题的更多信息。 。我有一个名为 ACTIVITY 片段的片段,我在其中动态加载片段。注释textview是可单击的,单击它时会显示CommentDialogFragment。该对话框片段由所有片段共享。点击评论时的代码:
FragmentTransaction ft = getActivity()
.getSupportFragmentManager().beginTransaction();
CommentDialog fragment = CommentDialog.newInstance(id,
"Activity");
ft.addToBackStack(null);
fragment.show(ft, null);
我想增加评论数。为此,我创建了一个界面:
public interface IncrementComment {
public void increaseCommentCount(boolean increase);
}
我无法在 ACTIVITY 片段内的片段中使用此界面。在包含所有这些片段的Activity上检测到接口。继承了我的MainActivity类中的接口我得到了这一点的数据:
@Override
public void increaseCommentCount(boolean increase) {
// TODO Auto-generated method stub
Log.d("interface main activity", "called");//this is called
}
现在我无法将此活动代码中的数据传递给我的片段,因为片段是动态加载的,并且可以有任意数量的片段(用户可以看到他们的旧帖子)。 所以我试着让一个片段实现接口来更新textview的值。但我无法让它工作,因为它从未被调用过。有人能指出我正确的方向。我在this和其他来源(例如this)尝试了大部分链接,但它们都不符合我的要求。