【OverrideCallback】不用继承方法,直接以回调形式启动(好用与否一试便知)

Github:https://github.com/ParfoisMeng/OverrideCallback

PS:本博文仅前几次发版时有更新,后续不再更新。所以当您看到本博文时未必是最新版本。如需浏览最新版本请点击跳转 Github 查阅。


OverrideCallback

不用继承方法,直接以回调形式启动。现已支持 startActivityForResult-onActivityResult 对应逻辑。 JitPack


使用

  • 引用类库 *请将last-version替换为最新版本号
    // 1.添加jitpack仓库
    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    // 2.添加项目依赖(last-version替换为最新版本号)
    dependencies {
        implementation 'com.github.ParfoisMeng:OverrideCallback:last-version'
    }
  • 代码
    // 将 startActivityForResult 替换成下面的调用,提供 2 种模式,适应更多情况
    FragmentActivity.start4Callback(otherStart: (fragment: Fragment, code: Int) -> Unit, callback: ((resultCode: Int, data: Intent?) -> Unit)? = null)
    FragmentActivity.start4Callback(intent: Intent, callback: ((resultCode: Int, data: Intent?) -> Unit)? = null)

    // 源码示例
    // 1: 直接传入 intent 对象
    val intent = Intent(this, clz)
    start4Callback(
            intent = Intent(this, clz),
            callback = { resultCode, data ->
                // do onActivityResult
            }
    )
    // 2: 在 block 中用指定参数构造并调用 startActivityForResult
    start4Callback(
            block = { fragment, requestCode ->
                val intent = Intent(fragment.requireContext(), clz)
                fragment.startActivityForResult(intent, requestCode)
            },
            callback = { resultCode, data ->
                // do onActivityResult
            }
    )

感谢

更新

  • 更换包名类名 - 2.0.1
  • 大幅更新,Kotlin 更好用 - 2.0
  • 初版发布 - 1.0.0

计划

  • 添加更多类似 startActivityForResult 这种不方便使用的 callback 方法

支持

劳烦各位大佬给个Star让我出去好装B行嘛!

其他

已使用996 License,为程序员发声,为自己发声。

996.icu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值