我正在尝试将信息传递到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总是返回什么,我字体知道为什么。 请指教。谢谢你
答案 0 :(得分:0)
你应该正确检查你的代码&数据库也是,因为您的数据库是否已创建?它是否包含表并且表有值吗?
如有任何疑问,请与我联系!
答案 1 :(得分:0)
好的,最后制造IT。我无法用更多的细节来解释我的答案,因为我仍然是编码的中间人,但是:
我发现数据库助手中没有任何函数是从片段中调用的,所以没有插入或发生任何事情。 所以,我想也许它与(onAttach或Activity或Context)有关并没有被发送。
现在我不知道他们做了什么,如果有人可以轻易解释它非常感激。 我将从Fragment收集的所有信息发送到实现了Fragment Listener的主要活动。然后主要活动执行DB功能。 工作:P