Android,如何将片段活动的结果返回到片段?

时间:2013-04-19 10:03:12

标签: android android-fragments

我的片段活动中有一个片段。 为了显示片段对话框,我在片段中有一个接口,它已经在片段活动中实现。 到目前为止没有问题。我可以弹出对话框。片段活动能够获得确定/取消按钮当用户点击它时。

现在,我的问题是,有没有办法(替代方式而不是在片段活动中创建另一个接口并在片段中实现它)让片段知道OK /取消点击?

1 个答案:

答案 0 :(得分:0)

由于您的活动应该知道它使用了哪些片段,您可以轻松获取片段,将其转换为真实类(如果您不想要新接口)并调用它的公共方法:

ArticleFragment articleFrag = (ArticleFragment)
    getSupportFragmentManager().findFragmentById(R.id.article_fragment);

if (articleFrag != null) {
            // If article frag is available, we're in two-pane layout...

            // Call a method in the ArticleFragment to update its content
            articleFrag.updateArticleView(position);
        } else {
            // Otherwise, we're in the one-pane layout and must swap frags...

            // Create fragment and give it an argument for the selected article
            ArticleFragment newFragment = new ArticleFragment();
            Bundle args = new Bundle();
            args.putInt(ArticleFragment.ARG_POSITION, position);
            newFragment.setArguments(args);

            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

            // Replace whatever is in the fragment_container view with this fragment,
            // and add the transaction to the back stack so the user can navigate back
            transaction.replace(R.id.fragment_container, newFragment);
            transaction.addToBackStack(null);

            // Commit the transaction
            transaction.commit();
        }

注意:此代码取自here