질문 (Error:Data Binding does not support Jack builds yet)의 응답을 보았을 때 데이터 바인딩은 JDK8을 아직 지원하지 않습니다 (AS에서 JACK을 활성화해야하므로).JDK 8을 사용한 데이터 바인딩
그러나 람다 (lambdas) 표현식을 사용하여 공식으로부터 데이터 바인딩 사용을 보았습니다. https://developer.android.com/topic/libraries/data-binding/index.html#listener_bindingshttps://developer.android.com/topic/libraries/data-binding/index.html#listener_bindings
API 24 (JDK 8 필요)로 데이터 바인딩을 사용하여 응용 프로그램을 테스트하기 시작한 이후로 JDK 8에서 데이터 바인딩을 사용할 수 있습니까?
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"
android:onClick="@{() -> presenter.onSaveClick(task)}" />
</LinearLayout>
왜 데이터 바인딩이 필요합니까? 'android : onClick = "onSaveClick"'할 수 없습니까? –
이 구문으로 데이터 바인딩을 사용하여 API 23으로 앱을 개발하기 시작했습니다. 이제 lambdas 식 (내 응용 프로그램에서는 많은 Rx)을 사용하여 현재 코드를 마이그레이션하려고하지만 작동하지 않습니다. (데이터 바인딩은 JACK에 아직 지원되지 않습니다.) –
데이터 바인딩의 lambdas Jack 컴파일러가 필요합니다. Gradle 1.5.0-alpha1 이상이 필요하다고 말합니다. –