当您将一个新项目插入像这样的数据库时
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());