栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ViewPager+fragment回调Activity

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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按钮点击则会触发这个回调方法
    //具体业务操作
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号