我有一个复选框,根据其代码变量的状态值应该更改。因为我正在将它用于下一个活动。
我的代码如下所示,
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);
}
}
});
itemcode
和MayotItemCode
有值,我想根据复选框的状态将其分配给变量代码。
我尝试了这两种方法(等于),但它对我不起作用。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:4)
您正在调用code.equals
,它会检查String
内容相等性并返回boolean
(您没有使用调用的结果)。
我不确定我是否理解了这个问题,但您可能希望使用=
成语进行分配。
即。
} else {
code = itemCode;
}
修改
第二个想法是,由于您使用的是匿名习语,因此您需要匿名View.OnClickListener
之外的字段为final
。
然而,对于final
字段,分配不会如您的示例中所示进行编译。
您可能想要使用的是可变CharSequence
(即StringBuilder
),并通过方法调用对其进行操作。
听起来很可疑,但是没有足够的信息(和范围)来帮助你。
答案 1 :(得分:0)
您应该替换如果阻止:
if (mayoBaseCB.isChecked()) {
code = MayoItemCode;
} else {
code = itemCode;
}
.equals()方法仅用于比较而非分配值