這里您的錯誤是您從未更改LiveData的值。LiveData的值可以使用LiveData.getValue()來檢索,并且只能使用LiveData.setValue()來設置,如果您仔細查看了您的實現,就不會在任何地方使用set方法。 一種常見的誤解是,更改對象的狀態會對其引用產生影響,或者以某種方式通知持有該對象引用的類,但事實并非如此。如果您考慮一下LiveData的簡化版本,您可以將其分解為以下核心功能: 有電流值的 持有潛在觀察員名單 當值改變時通知所述觀察者 它能夠通知觀察者的唯一方法是公開一個方法/函數,該方法/函數不僅可以設置值,還可以在必要時通知所有觀察者更改。 所以在您的實現中,您檢索了當前值并更改了它的狀態,但實際上從未將新值設置為LiveData。 所以 liveData.value?.add(newItem) 我們需要做一些 val list = liveData.valuelist?.add(newItem)_mutableLiveData.value = list