2011-08-11 3 views
0

사용자가 각 항목의 위치를 ​​다시 정렬 할 수있는 안드로이드 목록보기를 만들었습니다. 그러나, 나는 어떻게 id 함수를 표시하여 정렬을 사용하여 데이터베이스에서 커서를 검색 할 수 있도록 최선의 가장 효율적인 방법으로 데이터베이스에 저장된 '변경된 위치'를 가질 수 있는지 파악할 수 없습니다.데이터베이스의 목록보기 위치를 표시합니다.

누군가 나를 도와 줄 수 있습니까? 감사.

업데이트 :

현재, 내가 무엇을 생각하고하면이 생성되고이 변경 될 때, 그 후에, 내가의 위치를 ​​변경합니다 일단 마지막 항목 위치로 데이터베이스에서 항목 위치를 저장하는 것입니다 데이터베이스에서 선택된 항목을 선택하고 그 아래에있는 다른 모든 항목을 변경하여 1 씩 증가 시키십시오.

이 논리가 맞습니까?

답변

0

데이터베이스에 ordinal (integer 유형)이라는 열을 만들어 항목을 목록에 표시하려는 순서를 저장할 수 있습니다. 사용자가 목록을 재정렬하면 그에 따라 서수를 변경하십시오.

편집 :

당신의 업데이 트를 읽은 후, 그 사용자가 업데이트 한 아래 무언가의 위치를 ​​변경하면 어떻게 때문에 작동합니다 생각하지 않아?

ListView의 위치에 따라 모든 항목의 위치를 ​​업데이트하지 않는 이유는 무엇입니까?

그래서 데이터베이스 방법 중 하나는 다음과 같습니다
public boolean updateOrdinal(int itemId, int ordinal) 

{ 

    ContentValues c = new ContentValues(); 


    c.put("ordinal", ordinal); 


    return db.update("TableName", c, kID + "=" + itemId, null) > 0; 

} 

는 사용자가 목록을 "저장"다음에 호출 될 것이다. 물론 루프는 각 항목에 대해 이것을 호출해야합니다.

+0

답장을 보내 주셔서 감사합니다. 나는 그것의 위치를 ​​나타내는 란을 가지고있다. 내 질문을 업데이 트했습니다, 아마도 당신은 그것을 볼 수 있습니다. –

+0

지금까지 코드를 게시 할 수 있습니까? – Jack

+0

아직 데이터베이스 이동에 대한 코드가 많지 않습니다. 나는 여전히 그 일을하는 적절한 방법을 생각하고있다. 그러나 나는 포지션을 나에게 줄 청취자가있다. –

관련 문제