显示器的Hashmap返回值逐一随机时间 [英] display Hashmap return values one at a time random

查看:100
本文介绍了显示器的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; Values​​List中=新的ArrayList<串GT;(map.values​​());
        INT randomIndex =新随机()nextInt(values​​List.size())。
       randomValue = values​​List.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)]);
            }
         }); }
 }


解决方案

如果你想用随机

列表

  Col​​lections.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆