この質問は、Android 開発で使用される Kotlin の拡張機能に固有のものです。
そのため、Kotlin は、特定の拡張動作をクラスに追加して、ベース クラスの動作を拡張する機能を提供します。
例: (Espresso でのテストでの viewAssertion について、現在の Android プロジェクトから取得)
fun Int.viewInteraction(): ViewInteraction {
return onView(CoreMatchers.allOf(ViewMatchers.withId(this), ViewMatchers.isDisplayed()))
}
私のユースケースでは、次のように使用できます。
R.id.password_text.viewInteraction().perform(typeText(PASSWORD_PLAIN_TEXT), pressDone())
この拡張機能が、Int
Android のビュー ID だけでなく、すべてのオブジェクトに拡張された動作を与えることを除いて、すべて良いことです。これはまったく良くありません。
問題は、これにコンテキストを与える方法があるかどうかです.AndroidInt
のように、上記のようなケースのAndroidサポートアノテーションに @IdRes がありますか?