作者lihohsin (新)
看板AndroidDev
标题[问题] 字串填入问题
时间Thu Mar 23 15:15:04 2017
请问大家这段程式码
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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1490253315.A.ECD.html
1F:→ pttworld: literal资源管理,简单说写死。 03/23 15:21
2F:→ lihohsin: 就是在Android固定是这样写 对吗 03/23 15:46
3F:→ ssccg: 看不懂你问题在哪里... 03/23 15:59
4F:→ ssccg: getString就是取resource id对应的string 03/23 15:59
5F:→ ssccg: 假设 getString(R.string.sug_not_hurry) 取到的是 abc 03/23 16:26
6F:→ 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
7F:→ ssccg: 因为最上面有个 03/23 17:30
8F:→ ssccg: strSug = getString(R.string.result) 03/23 17:30
9F:→ ssccg: 最後结果是result对应的string加上後面符合条件的string 03/23 17:31
10F:推 LPH66: 这段作用是把三个字串接起来, 你不 += 前面的字串就不见了 03/23 17:55
11F:→ LPH66: 啊, 不是三个字串, 是第一行和下面六种其一加起来 03/23 17:55
12F:→ LPH66: 例如说 result 是 "结果:" not_hurry 是 "还不急" 03/23 17:56
13F:→ LPH66: 第一行把 "结果:" 指定进去, 下面用 += 把 "还不急" 接上 03/23 17:57
14F:→ LPH66: 最後出来才会是 "结果:还不急" 03/23 17:57
15F:→ LPH66: 不用 += 直接 = 的话 "结果:" 就会不见了 03/23 17:57
16F:→ LPH66: 如果还是搞不太懂的话, 就实际改下去然後看看结果就知道了 03/23 17:58