2011-06-21 88 views
0

當我得到數據後xml解析並在我的應用程序中使用它我得到數字格式異常,所以我添加try和catch代碼之間的代碼,現在它不是強制關閉,但問題是,後獲得異常之後不執行代碼再怎麼克服,它需要一些默認值,並執行下一 我的代碼如下請在我的catch塊修改...句柄編號格式異常

for(int i=0;i<sitesList.getLatitude().size();i++) 
    { 
      if(sitesList.getType().get(i).equalsIgnoreCase("Galerías Online")) 
      { 
      name = sitesList.getLatitude().get(i); 
       name1 = sitesList.getLongitude().get(i); 

      GeoPoint point5 = new GeoPoint((int) (Double.parseDouble(name) * 1E6), 
         (int) (Double.parseDouble(name1) * 1E6)); 
      OverlayItem overlayItem4 = new OverlayItem(point5, sitesList.getGalleryname().get(i)+ "--"+ 
        sitesList.getAddress().get(i),sitesList.getImagesurl().get(i)+ "--"+sitesList.getEmail().get(i)+ "--"+ 
        sitesList.getPhoneno().get(i)+ "--"+sitesList.getWeb().get(i)); 
      itemizedOverlay3.addOverlay(overlayItem4); 

     } 
     } 
     }catch (NumberFormatException e) { 

     } 

意味着它在獲得異常之後繼續進行循環,並使用默認值代替異常..我在這裏得到異常name = sitesList.getLatitude()。get(i); 名1 = sitesList.getLongitude()得到(I)。我想異常後繼續如何做到這一點..我是新Java中

回答

1

如果你正在你的標籤null或空值,那麼,修改您的代碼是這樣的:

if(sitesList.getType().get(i).equalsIgnoreCase("Galerías Online")) 
     { 
     name = sitesList.getLatitude().get(i); 
      name1 = sitesList.getLongitude().get(i); 
      if(name.equalsIgnoreCase("")||name.equalsIgnoreCase(null)) 
      { 
      name=// your default longitude or latitude 
      } 

      if(name1.equalsIgnoreCase("")||name1.equalsIgnoreCase(null)) 
      { 
      name1=// your default longitude or latitude 
      } 
      .... 
    } 

希望它有助於

+0

嗨jaydeep ...我越來越數字格式異常... Latitutde和經度標籤,其中包含沒有值,它需要默認情況下,在字符串中的上標籤值,因此拋出數字格式異常..我感謝你以上suugetion請解決此問題 – SRam

+0

代替名稱手動輸入默認值,例如:-name =「123456」; –

0
for(int i=0;i<sitesList.getLatitude().size();i++) 
    { 
      if(sitesList.getType().get(i).equalsIgnoreCase("Galerías Online")) 
      { 
      name = sitesList.getLatitude().get(i); 
       name1 = sitesList.getLongitude().get(i); 

      GeoPoint point5 = new GeoPoint((Double.parseDouble(name) * 1E6), 
         (Double.parseDouble(name1) * 1E6)); 
      OverlayItem overlayItem4 = new OverlayItem(point5, sitesList.getGalleryname().get(i)+ "--"+ 
        sitesList.getAddress().get(i),sitesList.getImagesurl().get(i)+ "--"+sitesList.getEmail().get(i)+ "--"+ 
        sitesList.getPhoneno().get(i)+ "--"+sitesList.getWeb().get(i)); 
      itemizedOverlay3.addOverlay(overlayItem4); 

     } 
     } 
     }catch (NumberFormatException e) { 

     } 

它,因爲烏爾鑄造雙爲Int ...

+0

喜...問題是從數據來服務器意味着來自web服務的數據包含標籤作爲經度和緯度,但在某些地方它是空的,在lat和long的標籤中沒有值,並且當我在解析後將它存儲在數組中時,它想要在地圖中顯示它我想在哪裏經緯度值爲空我顯示在那個地方的默認位置,並繼續下一個循環值,所以我問如何發生異常後如何繼續? – SRam

+0

我認爲問題是沒有鑄造雙int名稱和名稱1是字符串類型的變量只有 – SRam

+0

請幫助我過來我的徽章 – SRam