Вот что вы можете сделать (при условии, что вы хотите передать длинное значение):
Определить интерфейс, который будет использоваться для связи между фрагментами ViewPager и действием
public interface CommunicationInterface {
public void onDataReady(long value);
}
Пусть ваша деятельность реализует такой интерфейс.
public class MainActivity extends AppCompatActivity implements CommunicationInterface {
@Override
public void onDataReady(long value) {
// data received from the fragments.
// here you can put the value into the list and display it
}
}
На фрагментах не забудьте получить ссылку на родительскую активность, передав ее в обратном вызове onActivityCreated
:
public class FragmentTest extends Fragment {
private CommunicationInterface parentActivity;
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
parentActivity = (CommunicationInterface) getActivity();
}
}
Теперь, когда вы Чтобы вернуться к действию, просто используйте
parentActivity.onDataReady(3L);
, чтобы убедиться, что parentActivity
не вызывается после onActivityCreated
обратного вызова (просто проверьте, что не ноль).
Надеюсь, что это помогает.