将新项目插入数据库时
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
有没有办法从返回的uri中获取id,所以我不必运行查询来获取id,因为它已经在返回的uri中了?
答案 0 :(得分:64)
ContentUris.parseId()将最后一个路径段转换为long。
答案 1 :(得分:12)
long id = Long.valueOf(uri.getLastPathSegment());
答案 2 :(得分:1)
使用ContentUris.parseId(uri) 此语句将最后一个路径段转换为long。
阅读here
中的文档答案 3 :(得分:0)
long rowId = Long.valueOf(uri.getLastPathSegment());
以上是正确的。但我所做的是,我通过了像Events.CONTENT_URI.getLastPathSegment()那样的uri,它没有给出id。因为我们必须传递insert()返回的URI,如下所示。可能对像我这样的人有帮助!
Uri uri = getContentResolver().insert(Events.CONTENT_URI, values);
long rowId = Long.valueOf(uri.getLastPathSegment());