Interfaz de fragmentos que se comunica con otro fragmento.

He estado más de 2 referencias y he intentado todo lo posible para entender la comunicación entre 2 fragmentos. Con la ayuda de una pregunta anterior aquí + las 2 referencias, pude encontrar este código. ¿Qué tendría que poner en mi FragB para recuperar la elección que el usuario hizo en ListFragment FragA?

Actividad principal:

public class MainActivity extends Activity implements OnDataPass{
...

@Override
public void onDataPass(String data) {
    // TODO Auto-generated method stub

    FragA transaction1 = ((FragA) getFragmentManager().findFragmentByTag("ItemRoleList"));
    transaction1.dataPasser.onDataPass(data);

}

}

Aquí está FragA:

public class FragA extends ListFragment{

OnDataPass dataPasser;

public interface OnDataPass{
    public void onDataPass(String data);
}

@Override
public void onAttach(Activity a) {
    super.onAttach(a);

    // This makes sure that the container activity has implemented
    // the callback interface. If not, it throws an exception
    try {
        dataPasser = (OnDataPass) a;
    } catch (ClassCastException e) {
        throw new ClassCastException(a.toString()
                + " must implement OnHeadlineSelectedListener");
    }
}