2

私はループしているいくつかのxmlデータを持っています。各「エントリ」を配列スポットに格納して、intent.putExtras() で表示したいと思います。私のデータには、latlon、name、description の 3 つの要素があります。それぞれを配列に入れたいと思います。だから私はそれを次のように設定しています:markerInfo [i] [0] = Loc; など...次のように:

 final List<XmlDom> entries = xml.tags("Placemark");
            int i = entries.size();
int j=0;
            for (XmlDom entry : entries) {
                XmlDom lon = entry.tag("longitude");
                XmlDom lat = entry.tag("latitude");
                XmlDom name = entry.tag("name");
                XmlDom desc = entry.tag("description");

                String cdatareplace = desc.toString();
                String description = cdatareplace.replace("<![CDATA[", "");
                description = description.replace("]]>", "");

                final String firename = name.text();
                final String firedesc = description;

                String geoLon = lon.text();
                String geoLat = lat.text();

                String coor = lat + "," + lon;
                // Log.e("COORS: ", coor);

                double lati = Double.parseDouble(geoLat);
                double lngi = Double.parseDouble(geoLon);

                LOCATION = new LatLng(lati, lngi);

                String Loc = LOCATION.toString();

                String[][] markerInfo = new String[i][3];

                markerInfo[j][0] = Loc; 
                markerInfo[j][1] = firename;
                markerInfo[j][2] = firedesc;

                Log.e("MARKERINFO",markerInfo[j][0]);
                Log.e("MARKERINFO",markerInfo[j][1]);
                Log.e("MARKERINFO",markerInfo[j][2]);

                map.addMarker(new MarkerOptions()
                        .position(LOCATION)
                        .title(markerInfo[j][1])
                        .snippet(markerInfo[j][2])
                        .icon(BitmapDescriptorFactory
                                .fromResource(R.drawable.wfmi_icon48)));
                map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
                    @Override
                    public void onInfoWindowClick(Marker arg0) {
                        // Show full description in new activity.

                        // fireDesc(arg0.getTitle(), arg0.getSnippet());

                        Intent i = new Intent(Map.this, MapSingleActivity.class);
                        i.putExtra("name", arg0.getTitle())
                                .putExtra("description", arg0.getSnippet())
                                .putExtra("lat", arg0.getPosition().latitude)
                                .putExtra("lon", arg0.getPosition().longitude);
                        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(i);
                    }
                });
j++;
            }

範囲外の配列インデックスを取得しています。私は問題にならないentries.size()でそれを満たしていれば、おそらく私はそれをどのくらい正しく伝えていないのでしょうか?

助けてくれてありがとう

4

2 に答える 2