[問題] 字串填入問題

作者: lihohsin (新)   2017-03-23 15:15:04
請問大家這段程式碼
String strSug = getString(R.string.result);
if (msSex.equals(getString(R.string.sex_male)))
if (iAge < 28)
strSug += getString(R.string.sug_not_hurry);
else if (iAge > 33)
strSug += getString(R.string.sug_get_married);
else
strSug += getString(R.string.sug_find_couple);
else
if (iAge < 25)
strSug += getString(R.string.sug_not_hurry);
else if (iAge > 30)
strSug += getString(R.string.sug_get_married);
else
strSug += getString(R.string.sug_find_couple);
mTxtR.setText(strSug);
其中strSug += getString(R.string.sug_not_hurry);
這個+=在java中不是等於 strSug=strSug+getString(R.string.sug_not_hurry);
這樣子在Android 怎麼會是在StrSug中填入R.string.....中的資料呢?
作者: pttworld (批踢踢世界)   2017-03-23 15:21:00
literal資源管理,簡單說寫死。
作者: lihohsin (新)   2017-03-23 15:46:00
就是在Android固定是這樣寫 對嗎
作者: ssccg (23)   2017-03-23 15:59:00
看不懂你問題在哪裡...getString就是取resource id對應的string假設 getString(R.string.sug_not_hurry) 取到的是 abc那就相當於 strSug = strSug + "abc";因為最上面有個strSug = getString(R.string.result)最後結果是result對應的string加上後面符合條件的string
作者: LPH66 (-6.2598534e+18f)   2017-03-23 17:55:00
這段作用是把三個字串接起來, 你不 += 前面的字串就不見了啊, 不是三個字串, 是第一行和下面六種其一加起來例如說 result 是 "結果:" not_hurry 是 "還不急"第一行把 "結果:" 指定進去, 下面用 += 把 "還不急" 接上最後出來才會是 "結果:還不急"不用 += 直接 = 的話 "結果:" 就會不見了如果還是搞不太懂的話, 就實際改下去然後看看結果就知道了

Links booklink

Contact Us: admin [ a t ] ucptt.com