@spartan21

Как сопоставить записи в ListView и базе данных?

Ни как не могу разобраться с сопоставлением id записей в ListView и в базе данных.

ArrayList<Map<String,Object>> data=new ArrayList<Map<String, Object>>(
                type.size());
        Map<String,Object>m;
        for (int i=0;i<type.size();i++){
            m=new HashMap<String, Object>();
            m.put("type", type.get(i));
            m.put("sum", sum.get(i));
            data.add(m);
        }

        //массив имен Spend, Profit
        String[]from={"type","sum"};
        int[] to={R.id.tvType,R.id.tvSum};

        SimpleAdapter simpleAdapter=new SimpleAdapter(this,data,R.layout.item1,from,to);

 lvData=(ListView)findViewById(R.id.lvData);
            lvData.setAdapter(simpleAdapter);
            lvData.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);


Нашел функцию hasStableIds()==true
Мне не совсем понятно, как и где его подключать, внятных примеров не нашел.
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
@fuliozor
Web and Android developer
Добавьте в ваш Map дополнительно поле, например id, которое будет содержать идентификатор из БД. Потом сможете по номеру записи из ListView получить ваш объект а из него уже id записи из БД
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы