2013-02-11 35 views
1

接下來該怎麼落實和prev android系統將數據從數據庫SQLite的獲取。 我想作爲圖像如下:的Android添加下一個動作和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); 

並獲得logcat中的字數:30,位置:-1;

我把按鈕prev和next菜單:

@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更改索引到數組,並通過WHERE子句更新顯示

2)僅獲得你需要的項目現在。當用戶點擊一個按鈕時,通過WHERE子句請求新項目。顯示新項目。

+0

嗨,感謝您的回覆,對於您的建議頭號,我已經從之前的活動中獲得它是listview活動,以上是當我點擊listview中的項目時。我編輯了我的帖子。謝謝。 – 2013-02-11 04:45:39

+0

最簡單的方法可能是方法二。將意圖中所選項目的ID傳遞給第二個活動,並在子活動中僅查詢該項目的db。然後在next和prev上查詢上一個或下一個項目。 – 2013-02-11 04:53:54

0

可以經由通過查詢SQLite的數據的基礎上特定ID遍歷。但它似乎非常乏味。

所以做一件事。在應用程序開始通過遊標從數據庫中獲取所有數據並將其存儲在數組中。然後遍歷數組。

相關問題