ArrayList Double

时间:2015-04-01 21:43:08

标签: arraylist double

我收到此错误

java.lang.NumberFormatException: Invalid double: "-20.528899,"

我使用网络服务从bd获取纬度和经度,并在地图中显示。 我无法将纬度和经度值传递给列表 我在db中的同一列保存lat和long,所以这个字段应该是" lat,long"例如" -20.528899,-47.438933"我需要在列表中解析这个...我可以这样做吗?

public List<Localizacoes> buscarLocalizacoes(){

    List<Localizacoes> lista = new ArrayList<Localizacoes>();

    SoapObject buscarLocalizacoes = new SoapObject(NAMESPACE, BUSCAR);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.setOutputSoapObject(buscarLocalizacoes);

    envelope.implicitTypes = true;

    HttpTransportSE http = new HttpTransportSE(URL);

    try {
        http.call("uri:" + BUSCAR, envelope);

        Vector<SoapObject> resposta = (Vector<SoapObject>) envelope.getResponse();

        for (SoapObject soapObject : resposta){
            Localizacoes loc = new Localizacoes();

            loc.setId(Integer.parseInt(soapObject.getProperty("id").toString()));
            loc.setNome(soapObject.getProperty("nome").toString());
            loc.setDescricao(soapObject.getProperty("descricao").toString());
            loc.setPosicao(soapObject.getProperty("posicao").toString()); // error in this line

            lista.add(loc);
        }

    }  catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }

    return lista;
}

活性

dao = new LocalizacoesDAO(context);
    List<Localizacoes> lista = dao.buscarLocalizacoes();

    Log.d("Teste Buscar", lista.toString());

 public void setPosicao(LatLng poLatLng) {
    this.poLatLng = poLatLng;
    this.posicao = String.valueOf(poLatLng.latitude) + " " + String.valueOf(poLatLng.longitude);
}

public void setPosicao(String posicao) {
    this.posicao = posicao;
    String[] pos = posicao.split(" ");
    this.poLatLng = new LatLng(Double.valueOf(pos[0]), Double.valueOf(pos[1]));
}

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

更改setPosicao(String)方法中的以下行

String[] pos = posicao.split(" ");

<强> INTO

String[] pos = posicao.split(", ");

(因为你在字符串中有&#39;,&#39;和&#39;&#39;