Java.lang.ClassCastException нельзя привести к java.util.Map$EntryAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Java.lang.ClassCastException нельзя привести к java.util.Map$Entry

Сообщение Anonymous »

У меня есть проблема, которую я не могу решить:

Я получаю некоторые данные из базы данных пожарной базы.
Все работает плавно, за исключением случаев, когда я дохожу до столбца title,
поскольку столбец заголовка представляет собой дерево json и в нем есть строки значений ключей, поэтому здесь необходимо написать новую логику.

Что я пробовал

Создайте для него запись и сохраните ее в хеш-карте внутри моего класса ConfigItem который я создал.

Я получаю данные нормально, но не знаю, кому их обрабатывать.

Когда я дошел до третьей строки в цикле while, я получилjava.lang.ClassCastException: java.util.HashMap$EntrySet cannot be cast to java.util.Map$Entry

Чего мне здесь не хватает?

public class DataMappingConfig implements DataMappingStrategy {

@Override
public Object mapData(HashMap data ) {

Log.i("key set " , data.keySet().toString() + " key set ") ;
HashMap mpair =null ;
HashMap titlepairs = null ;

for (String key : data.keySet()) {
if (key.equals(KEY_TITLE)) {

final Iterator iterator = data.entrySet().iterator();

while (iterator.hasNext()){
mpair = new HashMap() ;
Map.Entry pair = (Map.Entry) data.entrySet() ;
HashMap titleMap = (HashMap) pair.getValue();
titlepairs = new HashMap();;

}
}
}
ConfigItem conf = new ConfigItem();
if (data.containsKey(KEY_LOGIN)) {
conf.setLogin((Boolean) data.get(KEY_LOGIN)); // note the import above
}
if (data.containsKey(KEY_ICON)) {
conf.setIcon((String) data.get(KEY_ICON));
}
if (data.containsKey(KEY_MAIN_SCREEN_ORDER)) {
conf.setNum(safeLongToInt((Long) data.get(KEY_MAIN_SCREEN_ORDER)));
}
if (data.containsKey(KEY_MODE)) {
String modeValue = (String) data.get(KEY_MODE);
if (modeValue.equals(VALUE_MODE_EMERGENCY)) {
conf.setEmenrgency(true);
} else if (modeValue.equals(VALUE_MODE_ROUTINE)) {
conf.setRoutine(true);
}
conf.setMode((String) data.get(KEY_MODE));
}
if (data.containsKey(KEY_STATUS)) {
conf.setStatus((String) data.get(KEY_STATUS));
}
if (data.containsKey(KEY_SHOW_DATE)) {
try {

conf.setShowDate((Boolean) data.get(KEY_SHOW_DATE));
} catch (IllegalArgumentException e) {
e.printStackTrace();
Log.i("ERROR", "" + e.getLocalizedMessage());
}
}

Log.i("Data Map config ", "conf item = " + conf.toString() + "\n");

return conf;
}

}


Подробнее здесь: https://stackoverflow.com/questions/445 ... l-mapentry
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»