[問題] 字串填入問題

看板AndroidDev作者 (新)時間7年前 (2017/03/23 15:15), 7年前編輯推噓1(1015)
留言16則, 4人參與, 最新討論串1/1
請問大家這段程式碼 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

03/23 15:21, , 1F
literal資源管理,簡單說寫死。
03/23 15:21, 1F

03/23 15:46, , 2F
就是在Android固定是這樣寫 對嗎
03/23 15:46, 2F

03/23 15:59, , 3F
看不懂你問題在哪裡...
03/23 15:59, 3F

03/23 15:59, , 4F
getString就是取resource id對應的string
03/23 15:59, 4F

03/23 16:26, , 5F
假設 getString(R.string.sug_not_hurry) 取到的是 abc
03/23 16:26, 5F

03/23 16:26, , 6F
那就相當於 strSug = strSug + "abc";
03/23 16:26, 6F
這段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

03/23 17:30, , 7F
因為最上面有個
03/23 17:30, 7F

03/23 17:30, , 8F
strSug = getString(R.string.result)
03/23 17:30, 8F

03/23 17:31, , 9F
最後結果是result對應的string加上後面符合條件的string
03/23 17:31, 9F

03/23 17:55, , 10F
這段作用是把三個字串接起來, 你不 += 前面的字串就不見了
03/23 17:55, 10F

03/23 17:55, , 11F
啊, 不是三個字串, 是第一行和下面六種其一加起來
03/23 17:55, 11F

03/23 17:56, , 12F
例如說 result 是 "結果:" not_hurry 是 "還不急"
03/23 17:56, 12F

03/23 17:57, , 13F
第一行把 "結果:" 指定進去, 下面用 += 把 "還不急" 接上
03/23 17:57, 13F

03/23 17:57, , 14F
最後出來才會是 "結果:還不急"
03/23 17:57, 14F

03/23 17:57, , 15F
不用 += 直接 = 的話 "結果:" 就會不見了
03/23 17:57, 15F

03/23 17:58, , 16F
如果還是搞不太懂的話, 就實際改下去然後看看結果就知道了
03/23 17:58, 16F
文章代碼(AID): #1OqtO3xD (AndroidDev)