1

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

现在,我的问题是,有什么方法(替代方法,而不是在片段活动中创建另一个接口并在片段中实现它)让片段知道单击了确定/取消?

4

1 回答 1

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();
        }

注意:此代码取自此处

于 2013-04-19T10:12:30.160 回答