3

arrayList의 목록 순서가 안드로이드 기기마다 다른 이유는 무엇입니까? 예를 들어 Asus Nexus 7의 경우 List (일부 항목 중 ListView에 표시하고 싶은 항목)은 Galaxy Tab 2에서 잘 정렬되지만 순서는 정반대입니다. Collections.reverse(items); 으로 전화를 걸면 Nexus에서 잘못된 동안 갤럭시에서 주문이 좋아집니다 !!!! 이것은 모든 장치의 항목을 다른 순서로 배치하는 SQLite 데이터베이스에서 발생합니다 !!! 왜 그런가요? 그게 정상입니까다른 Android 기기의 순서를 나열하십시오.

+0

SQL 문에'ORDER BY' 절이 있습니까? 그것 없이는 결과가 임의의 순서로 반환 될 것이라는 보장이 없습니다. –

+0

문제는 내가 GreenDAO를 사용하여 데이터베이스를 조작하므로'doaSession.loadAll(); '만 호출합니다. 모든 장치에서 데이터베이스를 동일하게 채 웁니다. XML 파일을 구문 분석하고 항목을 가져 와서 데이터베이스에 저장합니다. .. –

+0

확인. 하지만 쿼리에'ORDER BY' 절을 사용합니까? –

답변

0

SQL은 행이 삽입 된 순서와 동일한 순서로 결과를 리턴 할 것이라고 보장 할 수 없습니다. 이것은 사양의 일부가 아닙니다. 결과가 정렬되도록 보장하려면 특정 열에 ORDER BY 절을 사용하십시오.

+0

고마워요 @Deepak, 내가 삽입했을 때 똑같은 순서를 가질 것이라고 생각했는데 맞을지도 모릅니다. xml이 제공 한 것과 같은 순서를 보장하기 위해 열을 사용해야합니다. –

+0

@DrissBounouar –