本文主要是介绍ViewPager+fragment回调Activity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
业务描述
ViewPage中有四个Fragment,每一个Fragment中有一个按钮,给他门设置一个回调,在主Activity中操作具体的业务
public class CabinKindFragment extends Fragment implements View.OnClickListener{@BindView(R.id.begin)Button btnBegin;//定义用来与外部activity交互,获取到宿主activityprivate OnIsLockListener listterner;// 定义了所有activity必须实现的接口方法private OnIsLockListener onIsLockListener;//认证识别接口//登录按钮回调public interface OnIsLockListener {void onIsLockSuccess();}//设置回调接口public void setOnIsLockListener(OnIsLockListener listener) {this.onIsLockListener = listener;}// 当FRagmen被加载到activity的时候会被回调@Overridepublic void onAttach(Activity activity) {super.onAttach(activity);if(activity instanceof OnIsLockListener) {listterner = (OnIsLockListener)activity; // 获取到宿主activity并赋值} else{throw new IllegalArgumentException("activity must implements FragmentInteraction");}}//把传递进来的activity对象释放掉@Overridepublic void onDetach() {super.onDetach();listterner = null;}@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {...//这里写你的fragment布局实现内容return view;}@Overridepublic void onClick(View v) {int id = v.getId();switch (id) {case R.id.begin:listterner.onIsLockSuccess(); // 执行业务员回调break;}}
}
首先你的activity需要写上implements CabinKindFragment.OnIsLockListener
//实现接口,实现回调
@Override
public void onIsLockSuccess() {//fragment按钮点击则会触发这个回调方法//具体业务操作
}
这篇关于ViewPager+fragment回调Activity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!