我在 parse.com 上有一个名为 UserData
的类,包含列名为 usersports
的数组类型,我成功地在数组中添加了字符串,但我得到了在获取数组值并显示到列表时卡住了。
说:解析数组类型是这样的,
["Cycling","Diving","Equestrian"]
我已经测试过使用 JsonArray
从 parse 中解析数组值但没有成功。在我的代码中,checkuserSportarray
为 null。请帮帮我。
下面是我的代码:
private void userDetailfromParse(){
ParseQuery<ParseObject> query = ParseQuery.getQuery(Sportapp.USERDATA);
query.whereEqualTo(Sportapp.USER_GOOGLE_ID, google_id_from_preference.trim());
query.getFirstInBackground(new GetCallback<ParseObject>() {
@SuppressWarnings("unchecked")
public void done(final ParseObject login_data, ParseException e) {
if (login_data == null) {
Log.d("Data", "The getFirst request failed. in profile"+e.getCode());
}
else{
userEmail = login_data.getString(Sportapp.USER_EMAIL);
userName = login_data.getString(Sportapp.USER_NAME);
userGender = login_data.getString(Sportapp.USER_GENDER);
checkuserSportarray = login_data.getJSONArray(Sportapp.USERDATA);
}
}
});
}
最佳答案
对我来说很好:
List<String> list11 = new ArrayList<String>();
ParseQuery<ParseObject> pQuery = ParseQuery.getQuery("UserData");
pQuery.whereEqualTo(Sportapp.USER_GOOGLE_ID, google_id_from_preference.trim());
pQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> list, ParseException e) {
if (e==null) {
if (list.size()>0) {
ParseObject p = list.get(0);
if (p.getList("usersports")!=null) {
list11 = p.getList("usersports");
}
else
{
list11= null;
}
}}
}
});
使用getList方法从parse表的数组列中获取数据
now if you want to get all individual data of parsed array ,you can simply apply looping on **list11**.
有关详细信息,请参阅此链接:Parse Object
关于android - 如何从包含android中字符串数组类型列的解析类中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26057826/