首页 > 代码库 > fragment之间的通信
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); }}
fragment之间的通信
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。