Android中如何使用视图模型同时获取多个数据?

问题描述 投票:0回答:1

我正在我的 Android 应用程序中构建股票比较功能,用户可以:

  1. 按名称或股票代码搜索股票。
  2. 在一栏中显示所选股票的详细信息。
  3. 通过单击“+”图标添加更多列,以搜索和比较其他详细信息 股票并排。

当前实施:

  • ViewModel:从后端 API 一次获取一只股票的股票详细信息。
  • UI:包括搜索字段、库存详细信息显示列以及用于添加另一列的“+”按钮。

这是我当前的代码设置:

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)
        }
    }
}

}

此视图模型一次获取一只股票。如何获取新的股票详细信息,同时保留之前的股票详细信息并刷新每只股票,以使用刷新按钮获取新数据。

android kotlin android-viewmodel
1个回答
0
投票

使 stockDetails 成为 LiveData 并在每次新查找时将新元素推送到列表中。

         val stock = repository.getStockDetails(ticker)
        _stockDetails.value = stockDetails.value.toMutable().add(stock)
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.