我尝试通过数据库中的id的id来设置警报。这是我设置inent额外的代码,但它在putExtra上给了我一个错误。
public void setReminder(long taskId, Calendar when){
Intent i = new Intent(mContext, OnAlarmReceiver.class);
i.putExtra(helper.getById(id), (long)taskId);
}
这是我的Cursor从我的数据库中获取Id。
}
public Cursor getById(String id){
String [] args = {id};
return(getReadableDatabase()
.rawQuery("SELECT _id, title, descrip, taskdatetime, type FROM tasks WHERE _id = ?", args));
}
答案 0 :(得分:2)
putExtra()
将名称(字符串)和实际值作为输入。
我怀疑helper.getById(id)
i.putExtra(helper.getById(id), (long)taskId);
返回一个字符串。
检查一下。
public Intent putExtra (String name, Bundle value)
参数:
name
- >附加数据的名称,包前缀& value
- > Bundle数据值。返回:
检查此链接
希望我能够提供帮助。
答案 1 :(得分:1)
您不能将光标放在意图中。您应该读取游标并创建一个您可以使用意图传递的数据类型。
i.putExtra(helper.getById(id), (long)taskId);
这也没有意义。我假设你的光标是实际数据?在这种情况下,helper.getById()应该是第二个参数,taskId应该是第一个参数。