我不能为我的生活想象为什么这段代码不起作用。它遵循与我的应用程序的其他部分完全相同的格式,除了我将两个属性传递给助手方法,这应该不是问题,我只返回一行可能是问题,但如果是,我不理解!
我有一个有效的活动,直到我调用此命令。
Log.d("Testing","Testing: " + cardID + " " + cardTypeID);
//LogCat displays the right values 11 1
Cursor c = mDbHelper.fetchCard(cardID,cardTypeID); // <--COMMAND
辅助方法如下所示
public Cursor fetchCard(String cardID,String cardTypeID) {
String sql = "SELECT teamName FROM tbl_team JOIN tbl_card ON tbl_team.teamID = tbl_card.teamID WHERE cardID=" + cardID;
//This returns 1 row when run in a SQLite Database Browser
Log.d("Testing","Testing :" + cardID + " " + cardTypeID );
// Program has crashed before this Log
// Caused by: java.lang.NullPointerException
Cursor c;
c = mDb.rawQuery(sql, null);
return c;
我倾向于这个存在,因为只有一行已被阅读,我需要做c.moveFirst()
或其他什么。能帮助我们解决这个问题。另外,为什么我没有得到任何写入LogCat。它似乎马上就失败了???
PS。我试过了
返回mDb.rawQuery(sql, null);
我认为这与上述相同。
非常感谢 标记
答案 0 :(得分:1)
您的mDbHelper
为空。初始化它。并且学会使用LogCat而不是使用日志来猜测崩溃应用程序的行,这确实有帮助。