2013-02-11 1 views
1

데이터가 데이터베이스 sqlite에서 얻는 안드로이드에서 next와 prev를 구현하는 법. 나는 이미지로 아래에서 원하는 :안드로이드 액션 추가 next와 prev 행/기사

enter image description here

나는 내가 그렇게 이전 행/기사를 얻을 왼쪽 버튼을 클릭하면 바로 그래서, 다음 행/기사에 도착 버튼을 클릭하면합니다.

내가 더해야 할 일은 여기에 있습니다. 이것은 listview 이후의 현재 쿼리입니다. 내가 목록보기에서 항목을 클릭하면 다음과 같습니다 :

검색어 :

활동에
public Cursor getAllCategoryItem() { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     String selectQuery = "SELECT * FROM myarticle"; 
     Cursor cursor = db.rawQuery(selectQuery, null); 
     return cursor; 
} 

:

Cursor c = db.getAllCategoryItem(); 
int count = c.getCount(); 
int position = c.getPosition(); 
Log.d("MyLog", "Count: " + count + ", Position: " + position); 

을하고 카운트되는 로그 캣 얻을 : 30, 위치 : -1;

나는 메뉴 버튼 이전 및 다음을 넣어 :

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if (item.getItemId() == R.id.next_article) { 
      // what code in here ? 
      return true; 
     } else if (item.getItemId() == R.id.prev_article) { 
      // what code in here ? 
      return true; 
     } else { 
      return super.onOptionsItemSelected(item); 
     } 
    } 

감사합니다.

답변

0

두 가지 방법 중 하나를 사용할 수 있습니다.

1) 처음부터 DB에서 모든 항목을 순서대로 가져옵니다. ArrayList에 저장하십시오. 현재 항목이 무엇인지 추적하고 두 단추 중 하나를 누르면 인덱스를 배열로 1 씩 변경하고 디스플레이를 업데이트하십시오.

2) WHERE 절을 통해 지금 필요한 항목 만 가져옵니다. 사용자가 버튼을 탭하면 WHERE 절을 통해 새 항목을 요청합니다. 새 항목을 표시하십시오.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 추천 번호 1 대신 이전 활동에서 가져온 목록보기 활동이 위 목록에서 항목을 클릭하는 것입니다. 내 게시물을 편집했습니다. 감사. –

+0

가장 쉬운 방법은 아마도 방법 2 일 것입니다. 인 텐트에 선택된 항목의 ID를 두 번째 활동으로 전달하고 하위 활동의 ​​해당 항목 만 db에 쿼리합니다. 다음에 다음과 이전에 이전 또는 다음 항목에 대해 쿼리합니다. –

0

쿼리를 통해 Sqlite 데이터베이스에서 특정 ID를 통해 트래버스 할 수 있습니다. 그러나 그것은 매우 지루하게 보입니다.

한 가지를하십시오. 응용 프로그램에서 커서를 통해 데이터베이스에서 모든 데이터를 가져 와서 배열에 저장하십시오. 그런 다음 배열로 트래버스합니다.