如何在单击该片段的按钮时替换片段? [英] How to replace a Fragment on button click of that fragment?

查看:30
本文介绍了如何在单击该片段的按钮时替换片段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含多个片段的活动.活动最初有片段,其中有两个按钮.单击此按钮后,我必须用新片段替换片段.每个片段都有各种小部件,并将当前片段替换为各种事件.

I have an activity containing multiple fragments. Activity initially have fragment and in it have two buttons. Upon clicking this button I have to replace the fragment by new fragment. Each fragment has various widgets and replace the current fragment as various events.

这是我的问题.我怎样才能做到这一点?

This is my problem. How can I achieve this?

建议我的想法.

推荐答案

你可以用 FragmentTransaction 替换 fragment.

you can replace fragment by FragmentTransaction.

给你.

制作界面.

public interface FragmentChangeListener 
{
    public void replaceFragment(Fragment fragment); 
}

使用此接口实现您的 Fragment 持有活动.

implements your Fragment holding activity with this interface.

public class HomeScreen extends FragmentActivity implements
        FragmentChangeListener {


         @Override
         public void replaceFragment(Fragment fragment) {
            FragmentManager fragmentManager = getSupportFragmentManager();;     
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(mContainerId, fragment, fragment.toString());
            fragmentTransaction.addToBackStack(fragment.toString());
            fragmentTransaction.commit();   
    }

}

像这样从 Fragment 调用这个方法.

Call this method from Fragments like this.

//在你的片段中.

public void showOtherFragment()
{
       Fragment fr=new NewDisplayingFragment();
             FragmentChangeListener fc=(FragmentChangeListener)getActivity();
             fc.replaceFragment(fr);
}

希望这会奏效!

注意:mContainerId 是持有片段的视图的 ID.您还应该覆盖 Fragment 的 onString() 方法.

这篇关于如何在单击该片段的按钮时替换片段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆