¿Cómo enviar datos de un Fragmento a otro Fragmento?

Hola, sé que hay respuestas a esta pregunta. He probado todos pero no funciona en mi aplicación. Estoy desarrollando una aplicación que tiene 3 Fragmentos de actividad. El primer fragmento muestra un sitio web, el segundo fragmento tiene una vista de lista y el tercer fragmento tiene otra vista de lista. Ahora quiero enviar URL desde el tercer fragmento al primer fragmento cuando el usuario hace clic en listitem … Esto es lo que he hecho.

Estoy enviando url de cadena de este Fragmento al primer fragmento.

list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView adapter, View view, int position, long id) { FragmentC fragment = new FragmentC(); final Bundle bundle = new Bundle(); bundle.putString("position", "http://www.facebook.com"); fragment.setArguments(bundle);} }); 

Este es el primer fragmento donde necesito la URL y quiero mostrar en la vista web.

 String url="http://www.hotelsearcher.net/"; Bundle args = getArguments(); if (args != null){ url = args.getString("position"); } WebView webView= (WebView) V.findViewById(R.id.webView1); WebSettings webViewSettings = webView.getSettings(); webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true); webViewSettings.setJavaScriptEnabled(true); webViewSettings.setPluginState(PluginState.ON); webView.loadUrl(url); 

Cuando hago clic en el elemento de la lista, no veo nada. No me redirige al primer fragmento. Por favor, ayúdame …

Use Bundle para enviar String :

 //Put the value YourNewFragment ldf = new YourNewFragment (); Bundle args = new Bundle(); args.putString("YourKey", "YourValue"); ldf.setArguments(args); //Inflate the fragment getFragmentManager().beginTransaction().add(R.id.container, ldf).commit(); 

En onCreateView del nuevo Fragmento:

 //Retrieve the value String value = getArguments().getString("YourKey"); 

1.Si los fragmentos están alojados por la misma actividad: no puedes enviar un bash a Fragment. El fragmento actúa como parte de la Actividad, no es una actividad en sí misma. Entonces, para compartir una cadena entre fragmentos, puedes declarar una cadena estática en la actividad. Acceda a esa cadena desde el Fragmento A para establecer el valor y Obtener el valor de la cadena en el fragmento B.

2. Ambos fragmentos están alojados por diferentes actividades. Luego puede usar putExtra para pasar una cadena del Fragmento A de la Actividad A a la Actividad B. Almacene esa cadena en la Actividad B y utilícela en el Fragmento B.

Tienes que adjuntar tu paquete a tu fragmento.

 fragment.setArguments(bundle); 

y después de eso cambiar o reemplazar el nuevo fragmento.

Debes estar seguro de que la Cadena está en el nuevo Fragmento. Depurando !!

Puede enviar datos de dos maneras: primero, cuando desee iniciar ese fragmento mientras envía datos

 SecondFragment ldf = new SecondFragment (); Bundle args = new Bundle(); args.putString("YourKey", "YourValue"); ldf.setArguments(args); //Inflate the fragment getFragmentManager().beginTransaction().add(R.id.container, ldf).commit(); 

En segundo lugar, cuando desee enviar datos sin abrir su fragmento

 FragmentTransaction ft = mFragmentManager.beginTransaction(); ft.add(R.id.fragContainer1, new ModelListFragment(), FRAG_MODEL_LIST); ft.add(R.id.fragContainer2, new TrimListFragment(), FRAG_TRIM_LIST); ft.commit(); Fragment fragment = mFragmentManager.findFragmentByTag(MainActivity.FRAG_MODEL_LIST); Log.d("MY", "found fragment: " + (fragment != null));