안드로이드

[안드로이드] 데이터바인딩 onClick

wangkisa 2016. 12. 22. 11:45


데이터바인딩 onClick 에 설정하는 방법


1. 동작할 함수가 정의된 클래스를 생성 

public class MyHandlers {

        public void onClickRow(View view) {

            Utils.toast(mContext, "call onclick");

        }

}


2. 사용할 xml 파일에서 <layout <data> 태그 밑에 다음과 같이 선언

<variable

            name="handlers"

            type="com.(패키지경로).MyHandlers"/>


3. 사용될 곳에 위의 name 을 setVariable 함수로 할당

holder.getBinding().setVariable(BR.handlers, new MyHandlers());


4. 사용할 xml 에 다음 bold 된 부분처럼 호출

<LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:onClick="@{handlers::onClickRow}"

            android:orientation="vertical">