【发布时间】:2016-10-28 10:37:33
【问题描述】:
我有一个结构如下的表:
public class GroupDailyDB extends RealmObject{
@PrimaryKey
private int groupId;
private String groupName;
private String groupDescription;
private int groupStatus;
private boolean hasImage;
private int sweatPoints;
private long steps;
private int rank;
private float percentile;
private int noOfUsers;
private boolean isCurrentUserPartOfGroup;
private boolean isCurrentUserOwner;
}
我的数据已成功保存 刷新时我的 json 不发送组 ID 3,我需要更改其状态。
检查代码如下:
for(int i = 0 ; i < groupModel.getData().size() ; i++){
GroupDailyDB groupDailyDB =
realm.where(GroupDailyDB.class)
.notEqualTo("groupId",groupModel.getData().get(i).getGroupId())
.findFirst();
Log.i(TAG,"Group id delete daily: "+groupDailyDB.getGroupId());
}
但我的日志分别打印 id 4,5 它永远不会返回我 id 3
【问题讨论】:
-
这是什么线程?
-
@EpicPandaForce realmAsyncTask
-
在循环之前打印这个并查看返回的值? groupModel.getData().size()
-
所以值返回 2,我从 json 打印 id 它的 4,5 是正确的
-
由于您不对结果进行排序,
findFirst()将返回它找到的第一个元素,不保证会返回具有最小id的元素。您可能想改用findAllSorted(xxx).first()。
标签: android database realm realm-mobile-platform