我想从解析中检索将变成数组的对象。然后,数组中的字符串将转到对话框的列表视图。我在获取对象时遇到了问题。请帮帮我。
非常感谢。
这是更新的代码:
AlertDialog.Builder builderSingle = new AlertDialog.Builder(
AddSocialActivity.this);
//builderSingle.setIcon(R.drawable.ic_launcher);
builderSingle.setTitle("Select One Name:-");
ParseUser currentUser = ParseUser.getCurrentUser();
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MyProfile");
final String currentUserUsername = currentUser.getUsername();
final ArrayList<String> myProfile = new ArrayList<String>();
//query.whereContainsAll(currentUserUsername, myProfile);
query.whereEqualTo("user", currentUserUsername);
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
AddSocialActivity.this,
R.layout.select_dialog_singleitem, myProfile);
//String profileName = ParseObject.getString("profileName");
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (object == null) {
//Log.d("score", "The getFirst request failed.");
} else {
arrayAdapter.add(object.getString("profileName"));
}
}
});
答案 0 :(得分:1)
您只在代码中约束查询。要检索查询,请在whereContainsAll
方法之后添加以下内容。
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (object == null) {
Log.d("score", "The getFirst request failed.");
} else {
arrayAdapter.add(object.getString("profilName"));
}
}
});
或者,如果您需要检索多个对象,请使用以下内容。
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> profileList, ParseException e) {
if (e == null) {
// manipulate list
} else {
Log.d("profile", "Error: " + e.getMessage());
}
}
});
另外,请检查对象密钥是"profilName"
还是"profileName"
。
编辑:您可以使用的for
循环。
for(ParseObject object : profileList) {
arrayAdapter.add(object.getString("profileName"));
}