Если кнопка не находится в главном фрагменте, вам необходимо определить интерфейс для связи между вашим основным фрагментом и субфрагментами, т.е. фрагментом AB C.
public interface GoToNextFragment {
void onGoToFragment(int index);
}
Ваш MainFragmet должен будет реализовать этот интерфейс и метод, который сопровождает его:
public class MainFragment extends Fragment implements GoToNextFragment {
//Your regular methods...
@Override
public void onGoToFragment(index) {
if (myAdapter != null) {
myAdapter.setCurrentItem(index);
}
}
Все еще в вашем MainFragment, установите интерфейс для ваших фрагментов:
fragment1.setInterface(this);
fragment2.setInterface(this);
В ваших фрагментах добавьте метод setInterface:
private GoToNextFragment mInterface;
public void setInterface(GoToNextFragment i) {
mInterface = i;
}
И, наконец, во фрагменте a запустите эффект с помощью:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mInterface != null) {
mInterface.onGoToFragment(2);
}
});