Как обновить данные в списке <? расширяет карту <String,? >> - PullRequest
0 голосов
/ 26 сентября 2011

Я использую 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?

Ответы [ 2 ]

6 голосов
/ 26 сентября 2011

Похоже, очень плохой дизайн для меня.Java это объектно-ориентированный язык.Почему бы вам не предоставить реальный контракт и не создать объекты Product и Order?Дайте заказ список продуктов для поддержания.То, что вы предлагаете, менее очевидно и труднее писать и поддерживать.

2 голосов
/ 26 сентября 2011

@ Даффимо прав, вы не должны использовать карту в качестве псевдообъекта.

Это как обновить объект в определенном месте (index) в списке.

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

Тогда ты можешь делать все, что захочешь, с уродливым объектом.

Если бы вы сделали это правильно, это выглядело бы так ...

Product p = list.get(index);
p.setOrderQuantity(17);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...