2017-04-04 67 views
0

我想用recyclerview中的buttonclick來更新我的數據: 我可以在recyclerview中顯示我的數據庫,現在我想單擊按鈕時更新標記(如同stackoverflow的系統btw)。如何在recyclerview Android中訪問我的數據庫?

所以,我已經對我的Adapterwomen(對於recyclerview)做了這個,我想在我點擊一個按鈕時調用它。

public void UpdateData() { 
     myDb = new DatabaseHelper(this) 
     String marksafter; 
     int marksint = Integer.getInteger(marks.getText().toString()); 
     marksint = marksint + 1; 
     marksafter = Integer.toString(marksint); 
     myDb.updateData(id.getText().toString(),marksafter); 

    } 

但是「這個」給了我一個錯誤,我可以用什麼替換它?

+0

什麼是'DatabaseHelper'構造?裏面有什麼類是'UpdateData'? –

+0

我不想訪問RecyclerView或其適配器內的DataBase。讓我們知道父Activity或Fragment來處理數據庫操作。 – midhunhk

+0

@MelvinAuvray你有哪些錯誤?而且你不應該從適配器更新數據庫。而不是你可以在你的適配器中有一個接口,這將幫助你與你的活動或片段進行通信,然後使用它來更新你的活動或片段中的數據庫。 – pk4393

回答

1

@MelvinAuvray按你DatabaseHelper類的構造函數

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, 1); 
} 

你應該通過活動引用或應用程序引用

myDb = new DatabaseHelper(this); 

,但你傳遞ViewHolder提到它這是錯誤的。

而對於數據庫的設計模式,你可以按照本文

http://wale.oyediran.me/2015/04/02/android-sqlite-dao-design/

+0

我該怎麼做?你能舉個例子嗎?我如何在ViewHolder中傳遞Activity引用或Application引用,而不是ViewHolder? –

+0

@MelvinAuvray檢查我編輯的答案 – pk4393

+0

對不起,我沒有看到它,我怎麼能在我的回收視圖中獲得我的數據庫?如果我不能,我該如何解決這個問題? –