내가 직면 한 이상한 문제가 있습니다. 크기가 5가되도록 추가 개체를 추가하여 개체 배열을 업데이트 할 때마다 for 루프가 동작을 변경합니다. 되 돌리면 정상으로 돌아갑니다. 내 코드는 다음과 같습니다.
String[] a = new String[4];
a[0] = "EVENT 1";
a[1] = "EVENT 2";
a[2] = "EVENT 3";
a[3] = "EVENT 4";
LatLng[] b = new LatLng[4];
b[0] = new LatLng(32.546586510595404, -80.70999909192324);
b[1] = new LatLng(32.54606196179351, -80.71023747324944);
b[2] = new LatLng(32.54620949145382, -80.70962257683277);
b[3] = new LatLng(32.494091, -80.739474);
그런 다음 for 루프 (올바르게 작동)를 통해 객체를 목록에 추가 한 다음 getter setter 클래스에서 이러한 객체를 검색하는 또 다른 for 루프가 있습니다.
for(int i = 0; i <= event.size(); i++) {
latB = event.get(i).getmLatLng().latitude;
lngB = event.get(i).getmLatLng().longitude; }
따라서 for 루프의 동작은 정상에서 지정된 횟수 동안 마지막 반복 만 검색하는 것으로 이동합니다. 나는 정확히 문제의 원인이 무엇인지 며칠을 찾고 있었지만 특히 배열을 원래대로 되돌릴 때 문제가 중단되기 때문에 잘못된 것을 보지 못했습니다. 이 문제의 원인은 무엇입니까?
편집하다*
좋습니다. 이것이 처음 두 개 사이에 들어가는 코드입니다. 이벤트 객체를 생성하는 이벤트 클래스는 다음과 같습니다.
public class Event{
public LatLng mLatLng;
public Event()
{
}
public Event(String id, LatLng latlng)
{
mLatLng = latlng;
mId = id;
}
public void setmLatLng(LatLng latLng)
{
this.mLatLng = latLng;
}
public LatLng getmLatLng()
{
return this.mLatLng;
}}
그런 다음 이전과 동일한 활동에서 해당 이벤트를 목록에 추가하고 목록을 SQL Lite 데이터베이스에 저장합니다.
int TOTALEVENTS = a.length-1;
for(int i = 0; i <= TOTALEVENTS; i++)
{
EVENTS.add(i, new Event(new String(EVENTNAME[i]), EVENTLOCATION[i]));
} db.addEvents(EVENTS);
그런 다음 이전에 가지고 있던 코드로 이동하면 SQL Lite 데이터베이스가 저장된 목록을 반환합니다.
List<Event> event = new ArrayList<Event>();
event = db.getEvents();
나는 당신이 사용 <=
하는 동안 for 루프에서 사용하고 있기 때문에 그것이 어떻게 작동하는지 잘 모르겠습니다 <
.
for(int i = 0; i <= event.size(); i++)
해야한다:
for(int i = 0; i < event.size(); i++)
또한 코드의 중요한 부분을 보여주지 않았습니다. 사용중인 event.get(i)...
- get()
배열이 아닌 목록 주석입니다. 즉, 배열 event
에서 코드에서 호출 되는 객체로 일종의 "변환"을 수행하고 있음을 의미합니다 . 이 번역은 어떻게 수행됩니까? 버그도있을 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다