Подтвердить что ты не робот

OnAttach обратный вызов от фрагмента к активности

Я хочу отправить данные String с fragment на activity.

Я прочитал статью о связи между фрагментом и активностью в разработчике Android, используя обратный вызов onAttach.

может ли кто-нибудь объяснить, как отправить данные из фрагмента в активность?

4b9b3361

Ответ 1

Вы должны сделать что-то вроде этого. Сначала создайте интерфейс, который будет использоваться для связи с вашей деятельностью, например:

public interface OnViewSelected {
public void onViewSelected(int viewId);
}

и в вашем onAttach выполните следующее:

OnViewSelected _mClickListener;
@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    try {
        _mClickListener = (OnViewSelected) activity;
    } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString() + " must implement onViewSelected");
    }
}

В вашем инструменте фрагмента OnClickListener и в вашем методе onClick() сделайте следующее:

@Override
public void onClick(View v) {
    _mClickListener.onViewSelected(456);
}

После этого в вашей деятельности вы должны реализовать интерфейс, который вы создали в своем фрагменте, и он попросит вас добавить нереализованные методы, и в вашей деятельности у вас будет такая функция:

@Override
public void onViewSelected(int data) {
    Log.d("","data : "+data); // this value will be 456.
}

Это все.:)