从一个片段到另一个android的接口

时间:2014-06-23 11:37:54

标签: android android-fragments interface

我在实现一个片段中定义的接口并将其用于另一个片段时遇到问题。我知道我需要通过活动来完成这项工作,但我已经在另一个片段中动态添加了片段。请查看快照以了解有关我的问题的更多信息。 enter image description here。我有一个名为 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)尝试了大部分链接,但它们都不符合我的要求。

0 个答案:

没有答案