我正在我的 Android 应用程序中构建股票比较功能,用户可以:
当前实施:
这是我当前的代码设置:
class StockViewModel : ViewModel() {
private val _stockDetails = MutableLiveData<Stock>()
val stockDetails: LiveData<Stock> = _stockDetails
fun fetchStockDetails(ticker: String) {
viewModelScope.launch {
try {
val stock = repository.getStockDetails(ticker)
_stockDetails.value = stock
} catch (e: Exception) {
Log.e("StockViewModel", "Error fetching stock details", e)
}
}
}
}
此视图模型一次获取一只股票。如何获取新的股票详细信息,同时保留之前的股票详细信息并刷新每只股票,以使用刷新按钮获取新数据。
使 stockDetails 成为 LiveData 并在每次新查找时将新元素推送到列表中。
val stock = repository.getStockDetails(ticker)
_stockDetails.value = stockDetails.value.toMutable().add(stock)