Activity和Fragment如何通信?

来源:互联网 发布:留存统计最高效的算法 编辑:程序博客网 时间:2024/05/17 02:38
1.声明接口```public class MyFragment extends Fragment implements OnClickListener{    //声明接口public interface ReturnDataListener{void returnDataSuccess();}}```2.实现接口```public class MainActivity extends Activity implements OnClickListener,ReturnDataListener{//实现方法@Overridepublic void returnDataSuccess() {Toast.makeText(MainActivity.this, "fragment 返回数据了", Toast.LENGTH_SHORT).show();}}```3.设置引用```public class MyFragment extends Fragment implements OnClickListener{public interface ReturnDataListener{void returnDataSuccess();}private ReturnDataListener mReturnDataListener;private Button mSendMessage;@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);mReturnDataListener = (ReturnDataListener)activity;//设置引用}private void sendMessage(){if (mReturnDataListener !=null){mReturnDataListener.returnDataSuccess();}}}```总结:利用onAttach(Activity activity)接收宿主Activity,即接口实现类还有其他的方法:比如:EventBus 、广播、全局变量等

原创粉丝点击