我希望用戶能夠從列表中刪除已添加好友。我設法修改了一些代碼,但它刪除了Parse「Friend」類中的第一項。我如何修改它以刪除所選用戶?Android如何從解析列表中刪除所選項目
@Override
public boolean onItemLongClick(AdapterView<?> parent, final View view, final int position, long id) {
new MaterialDialog.Builder(MainActivity.this)
.title("Remove" + " " + mUserFriends.get(position).getUsername().toUpperCase() + "?")
.content("Do you really want to remove" + " " + mUserFriends.get(position).getUsername().toUpperCase() + " " + "from your friends list?")
.positiveText(R.string.dialog_yes)
.negativeText(R.string.dialog_no)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(MaterialDialog dialog) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("Friend");
query.whereEqualTo("user", mCurrentUser);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(final List<ParseObject> user, ParseException e) {
user.get(position).deleteInBackground(new DeleteCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Toast.makeText(getBaseContext(), "You removed" + " " + mUserFriends.get(position).getUsername().toUpperCase(), Toast.LENGTH_LONG).show();
mUserFriends.remove(position);
mFriendAdapter.notifyDataSetChanged();
} else {
Toast.makeText(getBaseContext(), "Couldn't remove" + " " + mUserFriends.get(position).getUsername().toUpperCase() + ", try again." + e.toString(), Toast.LENGTH_LONG).show();
}
}
});
}
});
}
@Override
public void onNegative(MaterialDialog dialog) {
}
})
.show();
return true;
}
你應該至少投票答案 –