1、从Activity中向Fragment传值:
//导包记得导app下的包 v4后面的包动态添加Fragment会出错
private FragmentManager manager;
private FragmentTransaction transaction;
manager = getFragmentManager();
transaction = manager.beginTransaction();
MyFragment2 myFragment2=new MyFragment2();
Bundle args=new Bundle();
args.putString("key",str);
myFragment2.setArguments(args);
transaction.replace(R.id.frame_bottom,myFragment2);
transaction.commit();
2.从Fragment向Activity传值 //接口回调
步骤1:创建Fragment 里面写一个接口,
创建一个接口对象
private SendMsgToActivity sendMsgToActivity;
public interface SendMsgToActivity{
void setMsg(String str); //通过里面方法的参数传值
}
步骤2:判断activity是否实现这个接口
if(getActivity() instanceof SendMsgToActivity){
// Toast.makeText(getActivity(),"爱好:"+et_hobby.getText().toString(),Toast.LENGTH_SHORT).show();
sendMsgToActivity= (SendMsgToActivity) getActivity();
sendMsgToActivity.setMsg(et_hobby.getText().toString());
}
一个FrameLayout只能放一个
Fragment