Android:Cursor始终返回null

时间:2017-05-27 06:17:03

标签: android cursor

我正在尝试将信息传递到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();
}

Toast总是返回什么,我字体知道为什么。 请指教。谢谢你

2 个答案:

答案 0 :(得分:0)

你应该正确检查你的代码&数据库也是,因为您的数据库是否已创建?它是否包含表并且表有值吗?

如有任何疑问,请与我联系!

答案 1 :(得分:0)

好的,最后制造IT。我无法用更多的细节来解释我的答案,因为我仍然是编码的中间人,但是:

我发现数据库助手中没有任何函数是从片段中调用的,所以没有插入或发生任何事情。 所以,我想也许它与(onAttach或Activity或Context)有关并没有被发送。

现在我不知道他们做了什么,如果有人可以轻易解释它非常感激。 我将从Fragment收集的所有信息发送到实现了Fragment Listener的主要活动。然后主要活动执行DB功能。 工作:P