从返回的Uri中获取插入数据库的新记录的ID



当您将一个新项目插入像这样的数据库时

Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values); 

有没有什么方法可以从返回的uri中获取id,这样我就不必运行查询来获取id,因为它已经在返回的uri中了?

ContentUris.parseId()将最后一个路径段转换为长路径段。

long id = Long.valueOf(uri.getLastPathSegment());

使用ContentUris.parseId(uri)此语句将把最后一个路径段转换为长路径段。

阅读此处的文档

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());

相关内容

最新更新