我的片段活动中有一个片段。 为了显示片段对话框,我在片段中有一个接口,它已经在片段活动中实现。 到目前为止没有问题。我可以弹出对话框。片段活动能够获得确定/取消按钮当用户点击它时。
现在,我的问题是,有没有办法(替代方式而不是在片段活动中创建另一个接口并在片段中实现它)让片段知道OK /取消点击?
答案 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。