fragment1中先获取fragment2中的控件,然后通过控件自己的方法得到值
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Fragment2 fragment2 = (Fragment2) getFragmentManager() .findFragmentByTag("fragment2"); EditText editText = (EditText) fragment2.getView() .findViewById(R.id.editText2); Toast.makeText(getActivity(), "--two->>" + editText.getText().toString(), 1).show(); } });
LeftFragment通过Bundle 传值
RightFragment fragment = new RightFragment(); transaction = manager.beginTransaction(); transaction.replace(R.id.right, fragment, "fragment"); transaction.addToBackStack("fragment"); Bundle bundle = new Bundle(); bundle.putString("item", item); fragment.setArguments(bundle); transaction.commit();
RightFragment 接收参数
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view = inflater.inflate(R.layout.right, null); TextView textView = (TextView) view.findViewById(R.id.textView1); Bundle bundle = getArguments(); if (bundle != null) { String item = bundle.getString("item"); textView.setText(item); } return view; }
Done!