在activity中部分代码如下:
public void onClick(View view) { String text = editText.getText().toString(); MyFragment5 fragment5 = new MyFragment5(); Bundle bundle = new Bundle(); bundle.putString("name",text); fragment5.setArguments(bundle); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction beginTransaction = fragmentManager.beginTransaction(); beginTransaction.add(R.id.layout,fragment5,"fragment5"); beginTransaction.commit(); Toast.makeText(MainActivity4.this,"箱Fragment发送数据"+text,Toast.LENGTH_LONG).show(); }activity向fragment发送的数据必须把数据先存储在一个Bundle的对象里,然后在利用fragment对象的setArguments向Fragment发送数据,
通过FragmentManager添加Fragment。
在Fragment中接收activity发送的数据方式:
package com.example.fragment; import android.app.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; /** * Created by 联想 on 2016/7/4. */ public class MyFragment5 extends Fragment{ @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment2,container,false); String text = getArguments().get("name").toString(); TextView tv = (TextView) view.findViewById(R.id.text); tv.setText(text); Toast.makeText(getActivity(),"已经成功接收到拘束"+text,Toast.LENGTH_LONG).show(); return view; } }并把fragment中包含的TextView值修改成接收到的数据,
并弹出吐司。。