如何比较按钮标签值

时间:2014-06-02 16:55:22

标签: android

我正在开发一个测验应用程序,其中我有3个按钮。 我正在比较ex Ans_1.getTag() == "1"按钮的每个按钮标记值,但它总是给我错误。

这是我的代码

我在这里设置标签值

            Ans_1.setTag(is_right_choice[0].toString());
            Ans_2.setTag(is_right_choice[1].toString());
            Ans_3.setTag(is_right_choice[2].toString()); 

is_right_choice[0].toString()这个值来自json响应,但是当我比较它时

     if(Ans_1.getTag() == "1")
            {
                Ans_2.setBackgroundColor(Color.GREEN);
                Ans_1.setEnabled(false);
                Ans_2.setEnabled(false);
                Ans_3.setEnabled(false);
                points.setText("+1 Punkt");
                is_button_click = true;
                isCancelled = true;

            }
            else
            {
                if(Ans_2.getTag() == "1")
                {
                    Ans_1.setBackgroundColor(Color.GREEN);
                    Ans_2.setBackgroundColor(Color.YELLOW);
                    Ans_1.setEnabled(false);
                    Ans_2.setEnabled(false);
                    Ans_3.setEnabled(false);
                    points.setText("0 Punkt");
                    is_button_click = true;

                    isCancelled = true;

                }
                if(Ans_3.getTag() == "1")
                {
                    Ans_3.setBackgroundColor(Color.GREEN);
                    Ans_2.setBackgroundColor(Color.YELLOW);
                    Ans_1.setEnabled(false);
                    Ans_2.setEnabled(false);
                    Ans_3.setEnabled(false);
                    points.setText("0 Punkt");
                    is_button_click = true;

                    isCancelled = true;

                }

            }

它在任何if块中都没有比较。任何人都可以告诉我这里我做错了什么。

提前致谢

2 个答案:

答案 0 :(得分:1)

你应该使用.equals方法来比较两个对象

if(obj1.equals(obj2)) {
..
}

在你的情况下(看到标签包含一个字符串),你应该使用:

if(Ans_1.getTag().toString().equals("1")) {
..
}

或更简单..

if(Ans_1.getTag().equals("1")) {
..
}

答案 1 :(得分:0)

您必须覆盖等于功能(以及其他功能)才能将其用于自定义类。

equals方法比较对象。

== 二元运算符会比较mem地址。

所以改变这个

if(Ans_1.getTag() == "1") 

if(Ans_1.getTag().toString().equals("1"))

Ans_2Ans_3按钮相同