20 lines
535 B
Kotlin
20 lines
535 B
Kotlin
package xyz.mtfos.tools
|
|
|
|
/**
|
|
* Created by jay on 2017/7/5.
|
|
*/
|
|
import android.app.Activity
|
|
import android.support.annotation.IdRes
|
|
import android.view.View
|
|
|
|
fun <T : View> Activity.bind(@IdRes idRes: Int): Lazy<T> {
|
|
@Suppress("UNCHECKED_CAST")
|
|
return unsafeLazy { findViewById<T>(idRes) }
|
|
}
|
|
|
|
fun <T : View> View.bind(@IdRes idRes: Int): Lazy<T> {
|
|
@Suppress("UNCHECKED_CAST")
|
|
return unsafeLazy { findViewById<T>(idRes) }
|
|
}
|
|
|
|
private fun <T> unsafeLazy(initializer: () -> T) = lazy(LazyThreadSafetyMode.NONE, initializer) |