前面讲过怎样在activity中引入fragment,但仅仅引入是不能满足实际应用的,我们还要实现彼此控件的获取和数据的传递,这次先说怎样彼此获取控件,下一篇说怎样进行数据交互。
1、fragment获取activity中的控件
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
//获取主activity中的控件,下面这些如果写道oncreateview中是报错的
TextView tv=(TextView) getActivity().findViewById(R.id.textView1);
String st=(String) tv.getText();
Log.d("dhj", st);
}
注意不能写在oncreateview方法中
2、activity中获取fragment重点控件
FragmentManager manager=getSupportFragmentManager();
TextView tv=(TextView) manager.findFragmentById(R.id.frg1).getView().findViewById(R.id.dd);
Log.d("dhj", tv.getText().toString());
注意这里用的是FragmentManager manager=getSupportFragmentManager();有的文章说用getFragmentManager在android4.4开发环境中会报不支持所以用这个还是比较好。