Нужна помощь. Я разбираю xml и помещаю некоторые данные из него в HashMap. Пожалуйста, обратите внимание на кусок кода,:HashMap: получить ключевое значение по ключу во время события onClick (кадр)
final HashMap<String,String> urls = new HashMap<String,String>();
* * *
NodeList nList = doc.getElementsByTagName("Row");
for (int z=0; z<nList.getLength(); z++) {
Node nNode = nList.item(z);
Element eElement = (Element) nNode;
NodeList a = eElement.getElementsByTagName("item");
for (int i=0; i<a.getLength(); i++) {
urls.clear();
String b = eElement.getElementsByTagName("item").item(i).getTextContent();
String c = eElement.getElementsByTagName("url").item(i).getTextContent();
urls.put(b, c);
System.out.println(urls);
}
}
Итак, у меня есть эти пары:
{Select product=bla-bla-bla}
{Single Landmine Shirt=/www.sample.com/landmine-single-shirt}
{Women's Silver & Black Bar=/www.sample.com/womens-silver-and-black-bar}
{High Density Foam Rollers=/www.sample.com/high-density-foam-rollers}
Теперь я хотел бы напечатать значение ключа (URL продукта) по ключу (Продукт), в то время как я выбираю соответствующий элемент из списка вниз.
/*comboBox:*/ addProduct.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
String s = String.valueOf(addProduct.getSelectedItem());
if ((e.getStateChange() == ItemEvent.SELECTED) && (urls.containsKey(s))) {
Object v = (String) urls.get(s);
System.out.println("Your url: " + v.toString());
}
}
});
ИДК, что я делаю неправильно, но когда я просто добавление простых строк к карте: urls.put («Выбрать продукт», «тест URL»); -> Все работает хорошо. Прошу совета, как с этим бороться. Будем рады любым ответам
Каков результат, который вы получаете? Обратите внимание, что вам не нужно указывать 'String', если вы собираетесь назначить' Object'. 'urls.get (s)' уже возвращает строку, почему бы не распечатать ее, не назначив ее? –
@YassinHajaj, не могли бы вы предоставить здесь обновление кода? –
'System.out.println (« Ваш url is: »+ urls.get (s))' ... Еще мой вопрос остается без ответа, каков ваш вывод? Вы уверены, что URL-адреса заполнены? –