1.主页包含两个线性布局。 fragment1 he fragment2 可以通过主实现接口,从中定义接口。实现数据的传递。
2.fragment 中跳转到acitiviy --可以直接跳转
creat-onceratview---onactivitycreat
方式一
(在fragment中传递)通过bundle传递 序列化对象--activity
Studnet nTestObject = new Studnet("杨卫超", "男"); --通过两种序列化之间传值,必须实现相应的接口
Bundle nBundle = new Bundle();
nBundle.putSerializable("seri", nTestObject);
Intent intent=new Intent(getActivity(),detailActivity.class);
intent.putExtra("nihao",nBundle);
getActivity().startActivity(intent);
在activity中进行接收
Intent intent=getIntent();
Bundle bundle= intent.getBundleExtra("nihao");
Studnet studnet= (Studnet) bundle.getSerializable("seri");
然后进行打印出去
方式二
使用parcel(包裹)---parcelable容器 来传递 parcel对象
//发送端
Studnet nTestObject = new Studnet("杨卫超", "男");
Intent intent=new Intent(getActivity(),detailActivity.class);
intent.putExtra("parcelable",nTestObject);
getActivity().startActivity(intent);
//接收端
Intent intent=getIntent();
Studnet studnet=intent.getParcelableExtra("parcelable");
对象需要实现 implements Parcelable
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(name);
parcel.writeString(sex);
}
public static final Parcelable.Creator<Studnet> CREATOR=new Parcelable.Creator<Studnet>() {
@Override
public Studnet createFromParcel(Parcel parcel) {
Studnet studnet=new Studnet();
studnet.name=parcel.readString();
studnet.sex=parcel.readString();
return studnet;
}
@Override
public Studnet[] newArray(int i) {
return new Studnet[0];
}
};
https://github.com/inferjay/AndroidDevTools/ 开发包下载
http://blog.csdn.net/knxw0001/article/details/9283867 传递parclebal
http://blog.csdn.net/xyz_lmn/article/details/5908355
http://blog.csdn.net/xyz_lmn/article/details/5908355
总结“写了一上午,总算知道的七七八八,fragment----fragment之间传值 fragment 和activity 之间传值。 activity之间传
使用bundle数据捆 来传递,对于传递对象使用 两种对象的传递方式,关键就是需要对象实现相应的接口
传递不同数据很好理解,再次就不再赘述了