我已将Parse中的用户列表加载到列表视图中,并希望使用以下代码向相关用户添加复选标记:
private void addFriendCheckmarks() {
mFriendsRelation.getQuery().findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> friends, ParseException e) {
if(e == null) {
//list returned- look for a match
for (int i = 0; i < mUsers.size(); i++) {
ParseUser user = mUsers.get(i);
for (ParseUser friend: friends) {
if (friend.getObjectId().equals(user.getObjectId())) {
getListView().setItemChecked(i, true);
}
}
}
} else {
Log.e(TAG,e.getMessage());
}
}
});
}
它似乎在检查复选标记方面有效,但是我收到错误:
05-03 06:17:43.095 2776-2776 / com.example.app I / MainActivity:test6
05-03 06:17:43.105 2776-2808 / com.example.app D / OpenGLRenderer:渲染所请求的脏区:true
05-03 06:17:43.112 2776-2776 / com.example.app D /:HostConnection :: get()建立新主机连接0xabc804d0,tid 2776
05-03 06:17:43.116 2776-2776 / com.example.app D / Atlas:验证地图......
05-03 06:17:43.142 2776-2808 / com.example.app D / libEGL:loaded /system/lib/egl/libEGL_emulation.so
05-03 06:17:43.143 2776-2808 / com.example.app D / libEGL:loaded /system/lib/egl/libGLESv1_CM_emulation.so
05-03 06:17:43.147 2776-2808 / com.example.app D / libEGL:loaded /system/lib/egl/libGLESv2_emulation.so
05-03 06:17:43.152 2776-2808 / com.example.app D /:HostConnection :: get()建立新主机连接0xaf80b770,tid 2808
05-03 06:17:43.172 2776-2808 / com.example.app I / OpenGLRenderer:初始化的EGL,版本1.4
05-03 06:17:43.221 2776-2808 / com.example.app D / OpenGLRenderer:启用调试模式0
05-03 06:17:43.241 2776-2808 / com.example.app W / EGL_emulation:eglSurfaceAttrib未实现
05-03 06:17:43.241 2776-2808 / com.example.app W / OpenGLRenderer:无法在表面0xaf808f20上设置EGL_SWAP_BEHAVIOR,错误= EGL_SUCCESS
05-03 06:17:46.275 2776-2776 / com.example.app E / ExploreFragment:java.lang.ClassCastException:java.lang.String无法强制转换为org.json.JSONObject
我花了几个小时试图找出一个字符串在这里被强制转换为JSONObject但却无法解决的问题。我想了解导致此错误的原因以及我可以采取哪些措施来避免此错误。