我想将String
数据从fragment
发送到activity
。
我已经阅读了有关在Android开发人员中使用onAttach
回调在片段和活动之间进行通信的文章。
任何人都可以清楚地解释如何将数据从片段发送到活动吗?
答案 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");
}
}
在您的片段工具OnClickListener
和onClick()
方法中执行此操作:
@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.
}
这就是全部。 :)