微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NoSuchMethodException: com.x.y.z.j.h1.inflate [class android.view.LayoutInflater] - 视图绑定扩展

如何解决NoSuchMethodException: com.x.y.z.j.h1.inflate [class android.view.LayoutInflater] - 视图绑定扩展

我有一个活动的视图绑定扩展。这是实现:

inline fun <reified T : ViewBinding> Activity.viewBinding() = ActivityViewBindingDelegate(T::class.java)

class ActivityViewBindingDelegate<T : ViewBinding>(private val bindingClass: Class<T>) : ReadOnlyProperty<Activity,T> {
    /**
     * initiate variable for binding view
     */
    private var binding: T? = null

    @Suppress("UNCHECKED_CAST")
    override fun getValue(thisRef: Activity,property: KProperty<*>): T {
        binding?.let { return it }

        /**
         * inflate View class
         */
        val inflateMethod = bindingClass.getmethod("inflate",LayoutInflater::class.java)

        /**
         * Bind layout
         */
        val invokeLayout = inflateMethod.invoke(null,thisRef.layoutInflater) as T

        /**
         * Set the content view
         */
        thisRef.setContentView(invokeLayout.root)

        return invokeLayout.also { this.binding = it }
    }
}

当我在调试版本中运行我的应用程序时,一切正常。

当我在发布版本中运行我的应用程序时,在运行时启动活动时出现以下异常:

Caused by: java.lang.NoSuchMethodException: com.x.y.z.j.h1.inflate [class android.view.LayoutInflater]

isMinifyEnabled = true isShrinkResources = true

我必须混淆我的活动。如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。