[英]How to delete values in array type object in parse.com class
我在解析时有一个名为“ UserData”的类,其中包含列名“ usersports”,它是数组类型,我在该数组中成功添加了值,现在每当插入新条目时,我都必须删除所有值
login_data.addAllUnique("usersports",selected_sport_list);
其中selected_sport_list
是我的包含运动的数组列表,而login_data
是解析对象
private class SaveUserDataToParse extends AsyncTask<String, String, String> {
private Context context;
private ProgressDialog progressDialog;
public SaveUserDataToParse(Context context) {
this.context = context;
}
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(context);
progressDialog.setMessage("Loading...");
progressDialog.show();
}
@Override
protected String doInBackground(String... params) {
try {
//Do your loading here
ParseQuery<ParseObject> query = ParseQuery.getQuery(Sportapp.USERDATA);
query.whereEqualTo(Sportapp.USER_GOOGLE_ID, google_id_from_preference.trim());
ParseObject login_data = query.getFirst();
if (login_data != null) {
login_data.put(Sportapp.USER_CITY, User_city);
login_data.put(Sportapp.USER_STATE, User_state);
login_data.put(Sportapp.USER_COUNTRY, User_country);
if(!selected_sport_list.isEmpty()){
login_data.addAllUnique(Sportapp.USER_SPORTS,selected_sport_list);
//login_data.removeAll(Sportapp.USER_SPORTS,selected_sport_list);
}
login_data.saveInBackground();
}
} catch (ParseException e) {
e.printStackTrace();
}
return "finish";
}
@Override
protected void onPostExecute(String result) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), "Your Data has been successfully Saved", Toast.LENGTH_SHORT).show();
}
}
由于卡住了,使用上面的代码,我能够在parse数组中添加数据。 但是执行此代码后,我必须在解析时删除数组中包含的数据。
删除代码中的这一行:-login_data.addAllUnique(Sportapp.USER_SPORTS,selected_sport_list);
并添加以下内容:-login_data.put(Sportapp.USER_SPORTS,selected_sport_list);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.