Android笔记之fragment之间相互传值

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!

转载于:https://www.cnblogs.com/xingyyy/p/3608878.html

你可能感兴趣的:(Android笔记之fragment之间相互传值)