ViewPager+fragment回调Activity

业务描述
ViewPage中有四个Fragment,每一个Fragment中有一个按钮,给他门设置一个回调,在主Activity中操作具体的业务

public class CabinKindFragment extends Fragment implements View.OnClickListener{
    @BindView(R.id.begin)
     Button btnBegin;
        //定义用来与外部activity交互,获取到宿主activity
    private OnIsLockListener listterner;

    // 定义了所有activity必须实现的接口方法
 private OnIsLockListener onIsLockListener;//认证识别接口

    //登录按钮回调
    public interface OnIsLockListener {
        void onIsLockSuccess();
    }

    //设置回调接口
    public void setOnIsLockListener(OnIsLockListener listener) {
        this.onIsLockListener = listener;
    }

    // 当FRagmen被加载到activity的时候会被回调
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

        if(activity instanceof OnIsLockListener) {
            listterner = (OnIsLockListener)activity; // 获取到宿主activity并赋值
        } else{
            throw new IllegalArgumentException("activity must implements FragmentInteraction");
        }
    }


    //把传递进来的activity对象释放掉
    @Override
    public void onDetach() {
        super.onDetach();
        listterner = null;
    }
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        ...//这里写你的fragment布局实现内容
        return view;
    }
    @Override
    public 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按钮点击则会触发这个回调方法
    //具体业务操作
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值