나는 모든 것을 시도해 보았는데 왜이 문제가 발생하는지 알 수 없습니다. 다음은 현재 사용중인 코드입니다.For 루프 내의 IF 문이 조건을 충족시키지 못하는 이유는 무엇입니까?
for(int i=0; i< objarray.size();i++)
{
//Toast shows values
Toast.makeText(getApplicationContext(), goingToId+""+objarray.get(i).getid(),Toast.LENGTH_SHORT).show();
if (goingToId == objarray.get(i).getid())
{
//This Toast NEVER shows
Toast.makeText(getApplicationContext(), "Inside the if statement",Toast.LENGTH_SHORT).show();
glat = objarray.get(i).getlat();
glon = objarray.get(i).getlon();
loc = new Location("dummyprovider");
loc.setLatitude(glat);
loc.setLongitude(glon);
}
}
비교할 값은 모두 문자열입니다. for 루프에서 두 개의 값이 토스트에 출력되고 두 값이 같은 값일 때 명확하게 볼 수 있지만 for 루프는 항상 IF 문을 입력하지 않아도 끝나거나 IF 문은 조건을 충족시키지 못합니다. 그러나 이유를 모르겠습니다.
저는 항상 C#에서 이런 종류의 일을합니다. 그리고 항상 작동합니다. 왜 안드로이드에서 작동하지 않는지 알 수 있습니까? 내 게시물에 계속할 정보가별로 없다는 것을 이해하지만 for 루프를 반복하면서 값이 결국 일치한다고 말할 때 나를 믿을 수 있습니다. 내가 한마디도 모르는 한 어떤 충고도 받아 들여질 것이다. 조건
비교할 문자열이 맞습니까? – njzk2
goingToId는 String ..입니까? – Pragnani
그 다음 반복 중 하나가 그것을 숨기고 있기 때문에 토스트가 보이지 않을 수도 있습니다. –