Leider fehlt noch der Code von deinem SectionPagerAdapter? Ich nehme an da instanziert du Fragment1 und Fragment2? Je nach übergebener Position?
Es fehlt auch der Ort wo du die SendText(...) aufrufst? Ist das aus einem onClick von einem Button?
Falsch ist dein
in deiner MainActivity. "button1" gehört zu Fragment1 und wird in deiner MainActivity nicht gefunden, "btn" wird nach diesem Befehl null sein? Im Fragment1 machst du das ja auch, da ist es korrekt und wird button1 gefunden.
Da ich deinen ganzen Code nicht kenne weiss ich nicht ob du WIRKLICH eine korrekte Referenz zu Fragment2 in deiner MainActivity hast? Falls ja dann sollte es so funktioniere:
Denn du brauchst dein fragmentCommunicator nicht, da ja Fragment2 dieses Interface implementiert kannst du es ja dirket aufrufen.
Du könnest ebenfalls folgendens machen:
public void SendText(View v) {
fragmentCommunicator = Fragment2;
fragmentCommunicator.passDataToFragment("Hi from FragmentActivity");
}
Was aber eher sinnlos währe...