如何随机设置标签到我的按钮,我怎么知道它们在某些时候是否相同?

时间:2014-06-17 20:45:39

标签: android random tags

由于我想随机设置标签,我想知道所有标签何时为真或假。有一次,我评论了if语句,所以我认为check方法正在运行。

要检查标签是否相同,我的代码上有这样的东西(虽然不起作用):

button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            if (button1.getTag().equals(true)){

                cambiarColorDos.grupoNueve();
                button1.setTag(false);
            }
            else if (button1.getTag().equals(false)){

                cambiarColorDos.grupoNueveMy();
                button1.setTag(true);


            }

            check();

         }              
    });
 button2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            if (button2.getTag().equals(true)){

                cambiarColorDos.grupoNueve();
                button2.setTag(false);
            }
            else if (button2.getTag().equals(false)){

                cambiarColorDos.grupoNueveMy();
                button2.setTag(true);


            }

            check();

         }              
    });





protected void check() {


if (button1.getTag().equals(true) && button2.getTag().equal(true)

&& button3.getTag().equal(true)){


//Do Something


  }

}

1 个答案:

答案 0 :(得分:0)

首先,您可以对所有按钮使用相同的侦听器。将所有直接按钮访问替换为使用提供给侦听器的视图,如下所示:

public void onClick(View v) {
        if (v.getTag().equals(true)){

            cambiarColorDos.grupoNueve();
            v.setTag(false);
        }
        else if (v.getTag().equals(false)){

            cambiarColorDos.grupoNueveMy();
            v.setTag(true);


        }

        check();

     }              
});

并将其附加到所有相关按钮。

其次,您没有为按钮设置 默认状态(标记) ,并且您的代码仅检查true和false,但是不考虑按钮从未被按下,也没有设置任何标签。这可能意味着你的听众永远不会改变状态。

第三,如果且只有所有代码都等于 true ,您是否希望check()成功?如果是这样的话你的代码很好,如果有点乱。这是'我的建议,避免多余的if

protected void check() {
    if (!(button1.getTag().equals(true))
        return;

    ..... and so on for all buttons .....

    //Do Something

}

对于随机布尔部分,您可以使用:

public static boolean getRandomBool() {
   return Math.random() > 0.5;
}

大约一半时间都会返回真实。