[英]Android: Cursor is always returning null even if the database is not empty
[英]Android: Cursor is always returning null
我試圖將信息傳遞給Fragment,在其中我將存儲在表中的用戶名發送給Fragment。 但是它總是空無一人,讓我對光標的位置感到懷疑。
我在網上調查了示例解決方案,但無法解決。 這是我到目前為止所做的:
public DbResponse getData(){
DbResponse obj = new DbResponse();
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("select * from " + TABLE_NAME, null);
cursor.moveToFirst();
if (cursor!= null && cursor.getCount() > 0){
// i want the name of the user here
obj.Dname = cursor.getString(cursor.getColumnIndex(COL_1));
}
cursor.close();
return obj;
}
我也有一堂課
public class DbResponse {
public String Dname;
}
最后,我想在這里進行投射:
public void ShowData(){
DatabaseHelper db = new DatabaseHelper(getActivity());
DbResponse response = db.getData();
Toast.makeText(getContext(), response.Dname , Toast.LENGTH_SHORT).show();
}
吐司總是不返回任何字體,我不知道為什么。 請指教。 謝謝
無論是否創建數據庫,您都應該正確檢查代碼和數據庫。 它是否包含表,並且表是否具有值?
讓我知道任何疑問!
好的,最終制造IT。 我真的不能用更多的細節來解釋我的答案,因為我仍然處於編碼的中間,但是:
我發現該片段的沒有調用Database Helper中的所有功能,因此沒有插入或發生任何事情。 因此,我認為這可能與未發送bean有關(onAttach,Activity或Context)。
現在,我不知道他們能做什么,如果有人可以輕松地解釋它,那將不勝感激。 我將從Fragment收集的所有信息發送到實現了Fragment Listener的主要活動。 然后主要活動執行DB功能。 它工作:P
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.