Android Extensions: Support cache in custom Views

This commit is contained in:
Yan Zhulanow
2017-06-02 22:26:01 +03:00
parent c9cd1a4d75
commit 1a1db5a6f1
5 changed files with 47 additions and 1 deletions

View File

@@ -0,0 +1,17 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item_detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ItemDetailActivity"
tools:ignore="MergeRootFrame" >
<Button
android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sign in" />
</FrameLayout>

View File

@@ -0,0 +1,22 @@
package test
import android.view.View
import android.app.Activity
import android.content.Context
import kotlinx.android.synthetic.main.layout.view.*
class MyView(context: Context) : View(context)
class MyActivity : Activity() {
init { MyView(this).login }
}
// 2 public _\$_findCachedViewById
// 1 INVOKEVIRTUAL test/MyActivity\.findViewById
// 2 public _\$_clearFindViewByIdCache
// 1 GETSTATIC test/R\$id\.login
// 0 INVOKEVIRTUAL android/view/View\.findViewById
// 1 INVOKEVIRTUAL test/MyView\.findViewById
// 0 INVOKEVIRTUAL test/MyActivity\._\$_findCachedViewById
// 0 INVOKEVIRTUAL android/view/View\._\$_findCachedViewById
// 1 CHECKCAST android/widget/Button