2016-09-22 5 views
1

MVP 패턴을 따르는 앱에서 Android 데이터 바인딩 라이브러리를 사용하고 있습니다.청취자 바인딩이있는 Android 데이터 바인딩 표현

<Button android:onClick="@{isAdult ? handlers.adultClick : handlers.childClick}" …/> 

동일한 기능을 가질 수있는 방법 (즉, 다른 "onclick을"이벤트가 상태에 따라)하지가 있습니까 : 조지 마운트 및 Yigit BOYAR으로 talk에서 이벤트 처리기 사용 표현의 예를 거기에 따르고 method references이 아니라 listener bindings이 대신 사용 하시겠습니까? 아니면 내 접근 방식이 완전히 잘못되어 논리가 발표자로 이동해야합니까?

당신은 조건 (예를 들어, 삼항)와 식을 사용해야하는 경우 listener_bindings에서

+2

당신은 방법 onClick''당신에게 조건을 통과 한 후처럼, 그것은에 따라 작동 할 수있다'() -> handler.conditionClick (조건)', 그리고 핸들러'무효 conditionClick (부울 isTrue) {에서 }' – yennsarah

답변

3

, 당신은 기호로 공백을 사용할 수 있습니다.

android:onClick="@{(v) -> v.isVisible() ? doSomething() : void}" 
+0

미안하지만 이건 내 질문과는 관련이 없습니다. –

+0

무엇을 의미합니까?

+0

그래, 대답은 편집 후 분명하다. 제 경우에는 다음과 같습니다. android : onClick = "@ {() -> pesenter.someValue! = null? null : presenter.someMethodCall()}", 나는 이것을 올바른 것으로 받아들입니다. –