3

Kotlin에서 LiveData를 사용하고 null 값이 아니도록하고 싶습니다. 이걸 어떻게 처리하니? 아마도 LiveData에 대한 래퍼일까요? 예를 들어 .. 여기 좋은 패턴을 검색 : Kotlin의 null 허용 및 라이브 데이터

class NetworkDefinitionProvider : MutableLiveData<NetworkDefinition>() { 
    val allDefinitions = mutableListOf(RinkebyNetworkDefinition(), MainnetNetworkDefinition(), RopstenNetworkDefinition()) 

    init { 
     value = allDefinitions.first() 
    } 

    fun setCurrent(value: NetworkDefinition) { 
     setValue(value) 
    } 
} 

나는 액세스 할 때 값이 null되지 않습니다 알 -하지만 난 항상 널 (null)를 확인하거나 이러한 추악한을해야 할 것이다 것은! '주위이야.

답변

0

확장 속성을 만들었습니다. 그것은 꽤 예쁘지 않지만, 입니다.

val <T> LiveData<T>.valueNN 
    get() = this.value!! 

사용

spinner.loading = myLiveData.valueNN.homeState.loading 

내가 좋은 명명 규칙으로 "NN"를 추가로 판매 아니지만, 그 질문의 범위 :

넘어