2015-04-07 184 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 –

相關問題