0

raw フォルダーに次のテキストを含む txt があります。

38.706937,-0.494406,Alcoy,Alcoy,Comunidad Valenciana
37.605651,-0.991294,Vuelo1,Cartagena,Región de Murcia
37.652022,-0.719147,Vuelo2,La Manga del Mar Menor,Región de Murcia
42.817988,-1.644183,Vuelo3,Pamplona,Navarra
36.750779,-5.812395,Vuelo4,Arcos de la frontera,Andalucia

そして、私がこれを行う方法:

private void leerPuntosApp(){
    InputStream stream =getResources().openRawResource(R.raw.sitios);
    BufferedReader brin = new BufferedReader(new InputStreamReader(stream));
    String todoPartes = null;

    try {
        while(brin.read() != -1){
            todoPartes = brin.readLine();
            dibujarPuntos(todoPartes);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private void dibujarPuntos(String punto){
    Toast.makeText(this, punto, Toast.LENGTH_SHORT).show();
    String []separados = punto.split(",");

        Dialog dialog = hacerDialogo(separados[0],separados[1],
                  separados[2],separados[3],separados[4]);

        itemOverlay = new CargarItem(puntosMapa,this,dialog);

        lat = Double.parseDouble(separados[0])*1E6;
        lon = Double.parseDouble(separados[1])*1E6;

        GeoPoint point = new GeoPoint(lat.intValue(),lon.intValue());
        //GeoPoint point = calcularCoordenadas(listaDeSitios.get(i).getCiudad());

        item = new OverlayItem(point,separados[2], null);
        itemOverlay.addOverlay(item);
        mapOverlays.add(itemOverlay);
        mapView.postInvalidate();

}

奇妙なことに、メソッド dibujarPuntos は最初の点を描画するだけですが、トーストにはすべての線が表示されます。

ご協力ありがとうございました。

4

2 に答える 2

0

本当のread()は、最初の行を除くすべての行で私の最初の文字を食べます。しかし、私がそうするなら、あなたは私がこの行にNumberFormatExceptionを持っていると言います

lat = Double.parseDouble(separados[0])*1E6;
于 2012-06-11T18:40:50.263 に答える
0

read() を実行することで、行の最初の文字を食べています...トーストが正しいデータを表示していましたか?

これが役立つかどうかを確認してください

try {
    while((todoPartes = brin.readLine()) != null){
        dibujarPuntos(todoPartes);
    }
} catch (IOException e) {
    e.printStackTrace();
}

ログに Toast を使用する代わりにLog.d("MYTAG", punto)、LogCat の出力を使用してチェックし、情報が正しく解析されているかどうかを確認します。

于 2012-06-11T18:26:00.810 に答える