2017-09-09 24 views
3

私はKotlinでLiveDataを使い、値をnullにしないでください。あなたはこれにどのように対処していますか?おそらく、LiveDataのラッパーですか?一例として、 ...ここで良いパターンの検索:NotabilityとLiveData with Kotlin

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」を追加で販売されていないんだけど、それが問題の範囲を超えてあります:)

関連する問題