想要了解如何在查询中使用/将ParseQuery的结果放入String []。
以下是代码:
public class OptionDialogFragment extends DialogFragment implements
AdapterView.OnItemClickListener {
String[] listitems = {here is where i want the result from the query};
ListView mylist;
TextView chosenProperty;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.option_dialog_content, null, false);
mylist = (ListView) view.findViewById(R.id.list);
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ParseQuery<PropertyTypes> pt = new ParseQuery<PropertyTypes>(PropertyTypes.class);
pt.whereExists("propertyType");
pt.orderByAscending("propertyType");
pt.findInBackground(new FindCallback<PropertyTypes>() {
@Override
public void done(List<PropertyTypes> pList, ParseException e) {
if (e == null) {
for(int i = 0; i < pList.size(); i++){
// Want to take the result from here and put it in the String array above
// String array "listitems"
}
} else {
e.printStackTrace();
}
}
});
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, listitems);
mylist.setAdapter(adapter);
mylist.setOnItemClickListener(this);
}
}
答案 0 :(得分:0)
如果List是String,那么会有一个直接的方法,但是,在你的情况下,它将取决于PropertyType类包含的内容。以下是代码的示例:
listItems = new String[pList.size()];
for(int i = 0; i < pList.size(); i++){
listItems[i]=pList.get(i).getStringObject();
}
因此pList.get(i)将为您提供PropertyTypes类对象,您应该使用返回String的PropertyTypes中的getter方法替换getStringObject()
上面声明你的成员变量listItems时,不要初始化它
String[] listItems;
答案 1 :(得分:0)
选择了一个用于解析ParseDB响应的JSON库。 (std JSON或Jackson都是好文章)
{“results”:[{“ACL”:{“_ User.objectId”
更改'done()'中现有的'for'迭代,以处理JSON ARRAY,它是您在上面看到的'结果'的子项
ArrayNode array = (ArrayNode) root.path("results"); int i = 0; for (JsonNode node : array) { i++;
YourCollection myCollection.add(node.path( “PTyp.property1”)getTextValue());
最后...
myCollection.toArray()
上面使用'jackson'lib进行Json解析
gradle依赖
编译文件('libs / jackson-core-lgpl-1.9.2.jar') 编译文件('libs / jackson-mapper-lgpl-1.9.2.jar')