zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    SQL 表变量用法
    <a>标签内嵌<input type="image">在IE中链接失效问题
    jquery 关于table的子标签tbody
    调用系统存储过程清空所有表
    战争的十四行
    xx,我们一起跳西湖去
    28
    两个情境和一个梦
    从头学习compiler系列1——前言
    从头学习compiler系列2——COOL语言学习1
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6123718.html
Copyright © 2011-2022 走看看