看板 AndroidDev 關於我們 聯絡資訊
完整code : https://pastebin.com/513nvkim 如題 我要寫一個抓旅遊資訊的app 資料用政府的opendata 如果我把 if判斷式拿掉,可以成功跑出所有資料 https://i.imgur.com/aKMmJsQ.jpg
但我想依照縣市來分,所以抓地址前兩個字來比對 我先隨便打一個縣市來測試 但if加上去就整個跑不出來還閃退 如果要按縣市分有更好或是可行的辦法嗎? ---- Sent from BePTT -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.166.142 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1563337154.A.42D.html
LPH66: 閃退有抓到是哪裡出了例外嗎? 07/17 12:27
aa1727: 我找不出原因 想不透為什麼多一個判斷就爆了 我迴圈改五 07/17 12:41
aa1727: 次都會閃退 07/17 12:41
kobe8112: 你比對的方式有問題吧... 07/17 13:24
kobe8112: 改用String的indexOf如何 07/17 13:25
aa1727: 我等等試看看 感謝回覆! 07/17 13:36
kobe8112: 仔細看了一下,你先確定你每次抓的字串a,既不是空值, 07/17 13:44
gcobc12632: 你抓的字串a 如果字串長度小於2的話 就會閃退 07/17 13:47
kobe8112: 長度也大於2吧,應該是indexoutofbound的例外 07/17 13:48
kobe8112: 或是NullPointerException 07/17 13:51
zcbxvsdf: 先學會logcat吧,版上通靈人士已經不多了 07/17 19:15
y3k: String a="臺";a.charAt(1);就會爆炸 在比對任何外來的資訊前 07/18 00:54
y3k: 都要先確保它的長度或內容是符合你預期的 07/18 00:54
y3k: 另外看你的code 為什麼不直接比對=="台東"?XD 07/18 00:57
panjiongkai: 按縣市分或許可以考慮用zipCode 07/18 01:02
panjiongkai: 應該不能用=="台東"因為是一串地址XD 要這樣比對的話 07/18 01:05
panjiongkai: 或許可以用startswith() 07/18 01:05
aa1727: 感謝,靠各位回覆 已經解決了 小弟比較菜多多見諒 07/18 11:47
y3k: 對耶 沒想到orz 07/19 00:56
rogerlarger: 建議用"台東".equals (a)避免npe 08/07 01:18
rogerlarger: 地址包含台東的話用a.contains("台東"),但要先檢查a 08/07 01:23
rogerlarger: 不為null 08/07 01:23
rogerlarger: 各縣市的話,妳先抓前兩個字可以用b=a.subString(0, 08/07 01:30
rogerlarger: 2);然後switch case 08/07 01:30