15

我想将String数据从发送fragmentactivity

onAttach我已阅读有关使用回调在 android 开发人员中的片段和活动之间进行通信的文章。

谁能清楚地解释如何将数据从片段发送到活动?

4

1 回答 1

37

你应该做这样的事情。首先创建一个用于与您的活动通信的接口,例如:

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

在你onAttach这样做:

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

在您的 Fragment 实现OnClickListener和您的onClick()方法中执行以下操作:

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

之后,在您的 Activity 中,您必须实现您在 Fragment 中创建的接口,它会要求您添加未实现的方法,并且在您的 Activity 中,您将具有如下功能:

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

就这样。:)

于 2013-01-08T11:35:14.353 回答