Android: Fragment kann keine Aktivität erhalten

Ich habe eine Aktivität, die eine Fragmenttransaktion ausführt

DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transaction.addToBackStack(null);
transaction.commit();

das funktioniert gut. Jetzt kenne ich in meiner Aktivität eine dynamische Zeichenfolge, die ich im Layout von newFragment ersetzen muss. Ich dachte, dass ich nach transaction.commit () einfach so etwas aufrufen kann

newFragment.setMyString("my dynamic value");

Und in der newFragment.java habe ich

public void setMyString(String s)
{
 TextView tv = (TextView) getActivity().findViewById(R.id.myobject);
 tv.setText(s);
}

Der Punkt ist, dass getActivity () null zurückgibt. Wie bekomme ich den Kontext, den ich brauche, um meine Layoutelemente zu finden?

Bearbeiten:

Ich versuche, die Route mit einem Bündel zu verfolgen, da dies der sauberste Weg zu sein scheint. Also habe ich meinen Code geändert:

Bundle b = new Bundle();
b.putString("text", "my dynamic Text");
DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transaction.addToBackStack(null);
transaction.commit();

Mein Fragment onCreateView sieht folgendermaßen aus:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{
   View v = inflater.inflate(R.layout.mylayout, container, false);
   TextView t = (TextView) v.findViewById(R.id.texttobereplaced);
   t.setText(savedInstanceState.getString("text");
}

SavedInstranceState scheint leer zu sein. Wo soll ich mein Bundle finden?

Edit2:

habe die getArguments () in der Antwort verpasst. arbeitet jetzt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage