看板 AndroidDev 關於我們 聯絡資訊
請問大家這段程式碼 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.....中的資料呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.249.178 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1490253315.A.ECD.html
pttworld: literal資源管理,簡單說寫死。 03/23 15:21
lihohsin: 就是在Android固定是這樣寫 對嗎 03/23 15:46
ssccg: 看不懂你問題在哪裡... 03/23 15:59
ssccg: getString就是取resource id對應的string 03/23 15:59
ssccg: 假設 getString(R.string.sug_not_hurry) 取到的是 abc 03/23 16:26
ssccg: 那就相當於 strSug = strSug + "abc"; 03/23 16:26
這段code他的作用是把textview顯示文字 if條件 滿足if條件顯示出不同的R.id對應的String 但是 strSug=strSug+"String" 為什麼不直接 StrSug=getString(R.string.sug_not_hurry) 這樣就好 ※ 編輯: lihohsin (36.230.249.178), 03/23/2017 16:51:49
ssccg: 因為最上面有個 03/23 17:30
ssccg: strSug = getString(R.string.result) 03/23 17:30
ssccg: 最後結果是result對應的string加上後面符合條件的string 03/23 17:31
LPH66: 這段作用是把三個字串接起來, 你不 += 前面的字串就不見了 03/23 17:55
LPH66: 啊, 不是三個字串, 是第一行和下面六種其一加起來 03/23 17:55
LPH66: 例如說 result 是 "結果:" not_hurry 是 "還不急" 03/23 17:56
LPH66: 第一行把 "結果:" 指定進去, 下面用 += 把 "還不急" 接上 03/23 17:57
LPH66: 最後出來才會是 "結果:還不急" 03/23 17:57
LPH66: 不用 += 直接 = 的話 "結果:" 就會不見了 03/23 17:57
LPH66: 如果還是搞不太懂的話, 就實際改下去然後看看結果就知道了 03/23 17:58