fragment之间的通信

Fragment有一个公共的桥梁 Activity

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //[1]获取Fragment的管理者
        FragmentManager fragmentManager = getFragmentManager();
        //[2]开启事物
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        //[3]动态替换
        transaction.replace(R.id.ll1, new Fragment1(),"f1");
        transaction.replace(R.id.ll2, new Fragment2(),"f2");

        //[4]最后一步 记得commit
        transaction.commit();

    }

}
public class Fragment1 extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment1, null);
        //[1]找到按钮设置点击事件
        view.findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                Toast.makeText(getActivity(), "jagjajgl", 1).show();
                //[2]修改Fragment2里面textview的值
                Fragment2 f2 = (Fragment2) getActivity().getFragmentManager().findFragmentByTag("f2");
                f2.setText("haahha");

            }
        });

        return view;
    }
}
public class Fragment2 extends Fragment {

    private TextView tView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment2, null);

        tView = (TextView) view.findViewById(R.id.tv);

        return view;
    }

    //修改textview值的方法
    public void setText(String content){
        tView.setText(content);
    }
}
时间: 2024-11-05 18:48:43

fragment之间的通信的相关文章

搭建Activity与Fragment,Fragment与Fragment之间的通信架构

内心独白:  曾几何时但凡听到架构之两个字,总能联想到老子说的一句话:"玄之又玄,众妙之门".说不清,道不明.就像是看不见,摸不着,但又真实存在的东西给我们的那种感觉. 回顾人类的历史,繁重的劳动让我们意识到工具的必要性和重要性,并学会了去发明和使用工具.当我进行了大量的,甚至是繁重的编程之后,也开始重新意识到架构的必要性和重要性.当然软件工程发展了这么多年,构架与模式之类的东西前辈们早就说过并且践行与呼吁过,并且也留下了很多值得我们学习和研究的构架模式.但于我个人而言,在没有经历过痛

[转][译][Android基础]Android Fragment之间的通信

2014-2-14 本篇文章翻译自Android官方的培训教程,我也是初学者,觉得官方的Training才是最好的学习材料,所以边学边翻译,有翻译不好的地方,请大家指正. 如果我们在开发过程中为了重用Fragment这个UI组件,那么我们应该把Fragment设计成是“自包含”.“模块化”组件,这种组件定义自己的布局和行为.一旦我们成功定义了这样的可重用的Fragment,我们就可以将他们与Activity进行关联,然后与整个Application进行整体的UI组装. 我们经常需要一个Fragm

Fragment的生命周期&同一Activity下不同Fragment之间的通信

Android开发:碎片Fragment完全解析(2) Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方式来瞧一瞧Fragment的生命周期是什么样的: 1 publicclass Fragment1 extends Fragment { 2 publicstaticfinal String TAG = "Fragment1"; 3 @Override 4 public View onCre

两个简单Fragment之间的通信

现在我要做个Fragment与Fragment之间的通信小demo. 建立两个Fragment,然后各添加1个按钮和1个TextView. 单击Fragment1的按钮修改Fragment2里的TextView文本. 相同的,单击Fragment2里面的按钮修改Fragment1的TextView文本. 前期准备:在Activity里面放进两个fragment: 1和2,再为其各绑定View. public class Fragment1 extends Fragment { public Vi

Android - Fragment (三)不同Fragment之间的通信

在Fragment的java文件中,可以使用getActivity()来获得调用它的activity, 然后再找到另一个Fragment,进行通信 getActivity().getFragmentManager().findFragmentById(R.id.fragment_list); 但这样做耦合度太高,不方便后续的修改操作 Fragment与其附着的Activity之间的通信,都应该由Activity来完成 不能是多个Fragment之间直接通信 Fragment与其附着的Activi

Activity与Fragment之间的通信

有时候我们需要在fragment与Activity之间通信,下面简单的总结下. 首先贴一个结果吧.在输入框中输入信息-->按钮-->弹出消息toast 分两部分: Activity——>Fragment 在Activity中创建Bundle数据包,并且调用Fragment的setArguments(Bundle bundle). FragmentActivity.java fragment.java  Fragment——>Activity 需要在Fragment中定义一个内部回调

11Communicating with Other Fragments(Fragment之间的通信)

In order to reuse the Fragment UI components, you should build each as a completely self-contained, modular component that defines its own layout and behavior. Once you have defined these reusable Fragments, you can associate them with an Activity an

使用Broadcast实现android组件之间的通信

android组件之间的通信有多种实现方式.Broadcast就是当中一种. 在activity和fragment之间的通信,broadcast用的很多其它本文以一个activity为例. 效果如图: 布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andro

android-----Fragment之间的通信

上一篇介绍了Fragment的生命周期,大致了解了Fragment的生命周期与其所绑定的Activity有密切的关系,这一篇我们学习下Fragment之间的通信: 话不多说,通过实例来学习: 定义两个Fragment,让他们显示在同一Activity中,注意只有两个Fragment处于同一个Activity中的时候才会涉及到他们之间的通信 fragment1.xml <?xml version="1.0" encoding="utf-8"?> <L