ANDROID安卓activity与fragment,activity之间互相传值(二)

来源:互联网 发布:win7公用网络无法修改 编辑:程序博客网 时间:2024/05/16 11:53

本文主要讲述activity与fragment之间互相传值。

首先,activity往fragment中传值,有很多时候是不需要的,因为activity持有fragment的对象,或者控件,方法就可以直接调用,也可以根据传参给传值,这都是比较简单的但是,对于一些比较不同的情况可能需要传值,这个怎么解决呢,下面直接上代码。

这是SendActivity的代码
public class SendActivity extends ActivityBase{    //接受内容的fragment    private  Fragmentreceive frag;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sendview);        //发送按钮        TextView tv= (TextView) findViewById(R.id.send);        frag = new Fragmentreceive();        tv.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Bundle bundle = new Bundle();                //bundle这里可以放什么都行,各种类型,各种数据                bundle.putSerializable("这里是你的key,同上文",Object);                frag.setArguments(bundle);            }        });    }}

这是接受的fragment
public class Fragmentreceive extends Fragment {    private View view;    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        view = inflater.inflate(R.layout.fragment_homepage_court, container, false);        Bundle bundle=getArguments();        bundle.getSerializable("这里同样是KRY");        //初始化位置        return view;    }}

基本上这些可以解决问题,特殊的就是你需要灵活运用,还有就是传值的类需要序列化

第二,fragment 向activity传值怎莫解决,跟上一篇文章,activity之间传值是一样的,

基本上这是传值的第二篇,比较简单,大笑大笑大笑大笑大笑大笑大笑大笑大笑


1 0