显示器的Hashmap返回值逐一随机时间 [英] display Hashmap return values one at a time random
本文介绍了显示器的Hashmap返回值逐一随机时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图在同一时间随机显示一个TextView里面的一个项目。我可以用低于code显示所有的人。
最后的HashMap<字符串,字符串>地图=新的HashMap<字符串,字符串>();
节点列表节点= doc.getElementsByTagName(项目);
//的for(int i = 0; I< nodes.getLength();我++){
//创建新的HashMap
的for(int i = 0; I< nodes.getLength();我++){
element元素=(元)nodes.item(I)
map.put(KEY_TITLE,parser.getValue(元素,KEY_TITLE)); menuItems.add(地图); 清单<串GT; ValuesList中=新的ArrayList<串GT;(map.values());
INT randomIndex =新随机()nextInt(valuesList.size())。
randomValue = valuesList.get(randomIndex);
Log.i(内部,randomValue);
} Collections.shuffle(菜单项);
menuItems.add(地图);
next.setOnClickListener(新OnClickListener(){ @覆盖
公共无效的onClick(视图v){
Log.i(outide,map.get(KEY_TITLE));
myImage.setImageResource(imageArr [rgenerator.nextInt(imageArr.length)]);
}
});
}
}
任何机构可以告诉我什么是随机显示的数据的最简单的方法?
谢谢,
专家你好,
这是我想出了这似乎工作像我想它。
最后的ArrayList<&HashMap的LT;字符串,字符串>>菜单项=新的ArrayList<&HashMap的LT;字符串,字符串>>(); XMLParser的解析器=新XMLParser的();
文档的DOC = parser.getDomElement(responseBody);
节点列表节点= doc.getElementsByTagName(项目); 的for(int i = 0; I< nodes.getLength();我++){
//创建新的HashMap
//的for(int i = 0; I< nodes.getLength();我++){
element元素=(元)nodes.item(I)
HashMap的<字符串,字符串>地图=新的HashMap<字符串,字符串>();
map.put(KEY_TITLE,parser.getValue(元素,KEY_TITLE));
menuItems.add(地图);
}
Collections.shuffle(菜单项);
地图<字符串,字符串> myValueMap = menuItems.get(0);
textView.setText(myValueMap.get(KEY_TITLE));
next.setOnClickListener(新OnClickListener(){ @覆盖
公共无效的onClick(视图v){
Collections.shuffle(菜单项);
地图<字符串,字符串> MapBtn = menuItems.get(0);
textView.setText(MapBtn.get(KEY_TITLE));
myImage.setImageResource(imageArr [rgenerator.nextInt(imageArr.length)]);
}
}); }
}
解决方案
如果你想用随机
列表 Collections.shuffle(菜单项);
在循环后
I'm trying to display one item at a time randomly inside a textview. I can display all of them with the below code.
final HashMap<String, String> map = new HashMap<String, String>();
NodeList nodes = doc.getElementsByTagName("item");
// for (int i = 0; i < nodes.getLength(); i++) {
// creating new HashMap
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
map.put(KEY_TITLE,parser.getValue(element, KEY_TITLE));
menuItems.add(map);
List<String> valuesList = new ArrayList<String>(map.values());
int randomIndex = new Random().nextInt(valuesList.size());
randomValue = valuesList.get(randomIndex);
Log.i("inside", randomValue);
}
Collections.shuffle(menuItems);
menuItems.add(map);
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("outide",map.get(KEY_TITLE));
myImage.setImageResource(imageArr[rgenerator.nextInt(imageArr.length)]);
}
});
}
}
Can any body tell me what's the easiest way to display the data randomly?
Thanks,
Hi Guys,
This is what I came up with which seems to work like I want it to.
final ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
Document doc = parser.getDomElement(responseBody);
NodeList nodes = doc.getElementsByTagName("item");
for (int i = 0; i < nodes.getLength(); i++) {
// creating new HashMap
// for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
HashMap<String, String> map = new HashMap<String, String>();
map.put(KEY_TITLE,parser.getValue(element, KEY_TITLE));
menuItems.add(map);
}
Collections.shuffle(menuItems);
Map<String, String> myValueMap = menuItems.get(0);
textView.setText(myValueMap.get(KEY_TITLE));
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Collections.shuffle(menuItems);
Map<String, String> MapBtn = menuItems.get(0);
textView.setText(MapBtn.get(KEY_TITLE));
myImage.setImageResource(imageArr[rgenerator.nextInt(imageArr.length)]);
}
});
}
}
解决方案
if you want to randomize the list with
Collections.shuffle(menuItems);
after the loop
这篇关于显示器的Hashmap返回值逐一随机时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文