onAttach从片段到活动的回调

时间:2013-01-08 11:26:17

标签: android

我想将String数据从fragment发送到activity

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

任何人都可以清楚地解释如何将数据从片段发送到活动吗?

1 个答案:

答案 0 :(得分:32)

你应该做这样的事情。首先创建一个用于与您的活动进行交流的界面,例如:

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");
    }
}

在您的片段工具OnClickListeneronClick()方法中执行此操作:

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

在你的Activity中你必须实现你在Fragment中创建的界面,它会要求你添加未实现的方法,在你的活动中你会有这样的功能:

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

这就是全部。 :)