2015-04-07 156 views
2

我有一个复选框,并根据它的代码变量的状态值应该改变。因为我将它用于下一个活动。将字符串变量的值赋给另一个字符串变量

我有代码如下所示,

String code; 
String itemCode; 
String MayoItemCode; 

mayoBaseCB.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 

       if (mayoBaseCB.isChecked()) { 
        code = (MayoItemCode); 

       } else { 
        code.equals(itemCode); 
       } 
      } 

     }); 

itemcodeMayotItemCode具有值,我想根据复选框的状态,以将其分配给变量的代码。

我已经尝试了这两种方式(等于),但它并没有为我工作。任何人都可以帮我解决这个问题吗?

+0

你不应该在你的'else'被分配块? – Maroun

+0

您的下一个活动会发生什么,它会将String var作为null吗? – virusivv

+0

我知道它为空,但现在它的工作,非常感谢 – modabeckham

回答

4

您在调用code.equals,它检查String内容是否相等,并返回boolean(您没有使用调用的结果)。

不知道我明白这个问题,但你可能想用=这个习惯用法来代替。

I.e.

} else { 
    code = itemCode; 
} 

编辑

关于第二个想法,因为你使用的是anonimized成语,你需要你的领域你的匿名View.OnClickListener对外要final

再一次,分配不会按照您的示例进行编译,其中final字段。

您可能想要使用的是可变的CharSequence(即StringBuilder),并通过方法调用对其进行操作。

听起来很腥,但没有足够的信息(和范围)来帮助你进一步。

+0

当我改变了其它块​​,它的工作,非常感谢解释很好 – modabeckham

+0

@modabeckham欢迎您。 – Mena

0

就应该更换你如果与块:

if (mayoBaseCB.isChecked()) { 
       code = MayoItemCode; 

      } else { 
       code = itemCode; 
      } 

.equals()方法只用于比较不分配值

+0

我得到了答案,非常感谢解释:) – modabeckham

+0

欢迎@modabeckham –

相关问题