2011-05-02 3 views
2

SQLite 데이터베이스에서 정보를 검색하여 ListView에 저장하는 SimpleCursorAdapter가 있습니다. 모든 교과서 내용 :ListView 표시 순서 반전

  new SimpleCursorAdapter(this, R.layout.viewexisting, c, from, to); 

그러나 데이터를 역으로 표시하는 것이 좋습니다. 현재 데이터베이스의 가장 오래된 항목이 맨 위에 나타나고 최신 항목이 맨 아래에 나타납니다.

+1

SQL 문을 주문 해보십시오. 예 : "선택하십시오 .. 어디에서 ... 오름차순/오름차순으로 주문 하시겠습니까?" – f20k

+0

오, 이제 나는 어리 석다! 나는 완전히 내 DBAdapter에 쿼리를 수행하는 메서드가 있다는 것을 잊어 버렸습니다! 고마워요. 잠시 후에 해결책을 추가하겠습니다. –

답변

4

목록의 순서는 SQL 쿼리를 구성하는 방법에 따라 다릅니다. 특히 이것에 영향을주는 것은 SQLite 쿼리 메서드의 Sort 매개 변수입니다.

[database object].query(.., COL_NAME + " ASC"); 

COL_NAME하여 컬럼의 이름과 ASC한다 : 마지막 매개 변수는 예를 들어 .. 그하여 정렬합니다이 열이 데이터베이스에있는 내용에 따라 정렬 기준 컬럼입니다 '오름차순'을 의미합니다.

나는 'Decending Order'에 대해 DESC을 믿습니다.

열은 정수, 문자열 또는 날짜 여야합니다. SQLite는 오름차순 또는 내림차순 매개 변수와 함께 이들을 사용합니다.

0

또는 해시 맵을 역순으로 배치하십시오. 데이터베이스 결과가 고정 된 경우 좋은 대안입니다.

1

흠. 데이터베이스에서 레코드가 나오는 순서가 바뀌므로 제공된 대답이 정확하지 않습니다. 원래의 질문 저자가 자신의 데이터베이스에 50 개의 레코드를 가지고 있다고 가정하고 매번 데이터베이스에서 10 개의 최신 항목을 추출하려고하지만이 10 개의 항목이 표시되는 방식을 사용자가 변경하도록하십시오. 그는 SQL 쿼리를 변경하고 싶지 않습니다.