xml에 Kotlin stdlib의 메서드를 사용할 수 있습니까? ': 응용 프로그램 : compileDevDebugJavaWithJavac의 모범이 코드Kotlin stdlib 및 데이터 바인딩
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:textColor="#333333"
android:text="@{viewModel.note}"
android:visibility="@{viewModel.note.isNotEmpty ? View.VISIBLE : View.GONE}"/>
실행이 작업에 실패했습니다 생산 컴파일 오류하십시오. java.lang.RuntimeException : 데이터 바인딩 오류가 발견되었습니다. ****/데이터 바인딩 오류 **** msg : 클래스 java.lang.String의 메소드 isNotEmpty()를 찾을 수 없습니다. D : \ Projects \ PushTracker-Android \ app \ src \ main \ res \ layout \ fragment_appointment_simple_details.xml LOC : 104 : 44-104 : 70 개 **** \ 데이터 바인딩 오류 ****
데이터 바인딩은 자바의 문자열에 방법 isNotEmpty()
을 찾으려고 시도하는 것이 분명하지만 데이터 바인딩을 강제 할 수 컴파일러가 kotlin의 String을 사용합니까?
그래, 나는 이것을 시도했지만'@ InlineOnly'로 찌르다. 내가 이해할 수있는 한가지 해결책이 있습니다 - 일부 메소드에서'@ JvmStatic'을 사용하여이 메소드를 정의하십시오. – dewarder
@Google'@ JvmStatic'은 필요하지 않습니다. 어쨌든 메소드를 호출 할 수 있습니다. 권장되는 방법은 개체 메서드가 아닌 파일 수준 함수를 사용하는 것입니다. – voddan