2011-06-21 123 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