如何更新列表中的数据<? 扩展 映射<字符串,?>>



我正在使用我填充了数据的List<? extends Map<String,?>>

cursor.moveToFirst();
while (cursor.getPosition() < cursor.getCount()) {
    item.put("ProdName",cursor.getString(2));
    item.put("ProdSize", cursor.getString(3));
    item.put("ProdPack",cursor.getString(4));
    item.put("OrdQty","0");
    //list.add(item);
    list.add(i, item);
    item = new HashMap<String,String>();    
    cursor.moveToNext();
    i = i + 1;
}

如何更新一个值,例如在OrdQty字段?

看起来像一个非常糟糕的设计。Java是一种面向对象的语言。为什么不提供一个真正的契约并创建Product和Order对象呢?给订单一份要维护的产品清单。你提出的建议不太容易解释,而且更难编写和维护。

@Duffymo是对的,你不应该使用map作为伪对象。

这是如何在列表的特定位置(index)更新对象。

Map<String,?> ugly = list.get(index);

然后你可以对这个对象做任何你想做的事情。

如果你做得好,它看起来像这样…

Product p = list.get(index);
p.setOrderQuantity(17);