0
我有一個應用程序,您可以在其中可以upvote的東西,類似於Facebook的喜歡或Reddit upvotes。你得到的照片。解析數組[如何防止用戶投票多次]
嗯,我覺得它會很簡單。我在Parse中有一個數組列。對於每一條得到讚揚的消息,用戶的姓名將被添加到該特定帖子行中的數組中。除了我需要阻止用戶投票無數次。這是我在閱讀後嘗試的
final ParseQuery<ParseObject> query3 = ParseQuery.getQuery("Messages");
query3.whereContains("objectId", objectId);
query3.whereContains("PostVoteUsers", mCurrentUser.getUsername());
query3.findInBackground(new FindCallback<ParseObject>() {
List<String> list11 = new ArrayList<String>();
public void done(List<ParseObject> messages, ParseException e) {
if (e == null) {
ParseObject p = messages.get(0);
if(p.getList("PostVoteUsers").contains(mCurrentUser.getUsername())==false)
list11 = p.getList("ParseVoteUsers");
if(list11.contains(mCurrentUser.getUsername()))
uparrow.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ParseQuery<ParseObject> query2 = ParseQuery.getQuery("Messages");
query2.getInBackground(objectId, new GetCallback<ParseObject>() {
public void done(ParseObject messages, ParseException e) {
if (e == null) {
int votes = messages.getInt("PostVotes") + 1;
messages.add("PostVoteUsers", mCurrentUser.getUsername());
messages.put("PostVotes", votes);
postvote.setText("" + votes);
messages.saveInBackground();
}
}
});
}
});
}}});
它不起作用。我所嘗試的一切都讓我得到了一個空指針異常。我也嘗試了其他一些東西,但我想我可能會看到錯誤的問題。
在「Messages」類中,我有一個名爲「PostVoteUsers」的數組列。
一勞永逸,我該如何查明用戶是否在特定行的數組中?
http://i.stack.imgur.com/a2AEq.jpg