Как получить значение ключа из LinkedHashMap - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь получить значение ключа LinkedHashMap, но я не нахожу какого-либо последовательного решения для моей проблемы, я использую мощность Firebase для загрузки содержимого для LinkedHashMap, но у меня нет никакого решения для получения значения ключа вопроса LinkedHashMap с именем d

У меня есть этот код:

linkedHashMapForLessonContent = (intent.getSerializableExtra(tags?.LESSON_MAP_TAG_NAME) as WrapperSerializer<LinkedHashMap<String, Any>>).get() as LinkedHashMap<String, Any>

, который возвращает LinkedHashMap с ключами: {0={...}, 1={...}, 2={...}, 3={...}, 4={...}...} Затем я пытаюсь получить значение "0" таким образом

var d = (linkedHashMapForLessonContent as LinkedHashMap<String, Any>)["0"]
Log.e("d", d.toString())

, который возвращает

{Question=What is Gravity?, Content=[https://firebasestorage.googleapis.com/someimage0, https://firebasestorage.googleapis.com/someimage1, https://firebasestorage.googleapis.com/someimage2, https://firebasestorage.googleapis.com/someimage3], Type=Images, Answer=0}

Поэтому я хочу вернуть значение Вопроса следующим образом

Log.e("hello world", something to get the question value)

Это вернет

'What is Gravity?'

Я пробовал несколько решений и искал несколько вещей, но ни у кого нет ответа на мою проблему, я был бы благодарен, если бы кто-то помог мне с этим :) Спасибо

1 Ответ

1 голос
/ 14 января 2020

Вы должны преобразовать d.toString() в JSON, а затем получить значение "вопрос":

JSONObject(d.toString())["question"].toString()
...