single live event 를 잘 써먹고 있는 중에
이벤트 전달하는걸 일반화 해야겠다 싶어
interface ICommandEventAware {
val commandEvent: SingleLiveEvent<Pair<String, Any?>>
}
요렇게 생성하곤 ViewModel 에서 사용하고 있었는데
굳이 내가 commandEvent fun 을 새로 만들어야 하나 싶어
interface ICommandEventAware {
val commandEvent: SingleLiveEvent<Pair<String, Any?>>
fun commandEvent(cmd: String, data: Any? = null) {
commandEvent.value = cmd to data
}
}
이렇게 바꾸곤 xml 에서 commandEvent 를 호출해보니 컴파일이 안된다.
=_ =
이것저것 테스트를 해보니 data:Any?= null 이 부분 때문에 컴파일이 안되는걸 확인했는데
이걸 어째야 할것인가?
====
좀더 테스트 해보고는 이렇게 사용하면 되긴 하겠다 싶은데 쬠 낭비되긴 하지만 전체적으로는 직접 기입하지 않아도 되는 코드가 많아서 나쁘지는 않은 듯...
@{() -> model.commandEvent(model.DEFINED_STRING, ``)}
이벤트 전달하는걸 일반화 해야겠다 싶어
interface ICommandEventAware {
val commandEvent: SingleLiveEvent<Pair<String, Any?>>
}
요렇게 생성하곤 ViewModel 에서 사용하고 있었는데
굳이 내가 commandEvent fun 을 새로 만들어야 하나 싶어
interface ICommandEventAware {
val commandEvent: SingleLiveEvent<Pair<String, Any?>>
fun commandEvent(cmd: String, data: Any? = null) {
commandEvent.value = cmd to data
}
}
이렇게 바꾸곤 xml 에서 commandEvent 를 호출해보니 컴파일이 안된다.
=_ =
이것저것 테스트를 해보니 data:Any?= null 이 부분 때문에 컴파일이 안되는걸 확인했는데
이걸 어째야 할것인가?
====
좀더 테스트 해보고는 이렇게 사용하면 되긴 하겠다 싶은데 쬠 낭비되긴 하지만 전체적으로는 직접 기입하지 않아도 되는 코드가 많아서 나쁘지는 않은 듯...
@{() -> model.commandEvent(model.DEFINED_STRING, ``)}
'Android' 카테고리의 다른 글
room 에서 @Ignore 사용하는 법 (0) | 2019.03.26 |
---|---|
kotlin xml (mvvm) 내에 string 이용 방법 (0) | 2019.01.15 |
어찌 하다보니 usb cam 앱을 수정하는 일을 접했는데 (0) | 2019.01.08 |
dagger + retrofiit + baseurl 이 다수일때 (0) | 2018.12.11 |
kotlin + dagger2 + shared preferences (0) | 2018.12.11 |