3

この質問は、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())

この拡張機能が、IntAndroid のビュー ID だけでなく、すべてのオブジェクトに拡張された動作を与えることを除いて、すべて良いことです。これはまったく良くありません。

問題は、これにコンテキストを与える方法があるかどうかです.AndroidIntのように、上記のようなケースのAndroidサポートアノテーションに @IdRes がありますか?

4

1 に答える 1