当您将新项目插入这样的数据库时
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
有什么方法可以从返回的 uri 中获取 id,所以我不必运行查询来获取 id,因为它已经在返回的 uri 中?
当您将新项目插入这样的数据库时
Uri uri = getContentResolver().insert(Tournaments.CONTENT_URI, values);
有什么方法可以从返回的 uri 中获取 id,所以我不必运行查询来获取 id,因为它已经在返回的 uri 中?
ContentUris.parseId()将最后一个路径段转换为 long。
long id = Long.valueOf(uri.getLastPathSegment());
使用 ContentUris.parseId(uri) 这条语句会将最后一个路径段转换为 long。
在此处阅读文档
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());