Android 分析列表视图中显示的查询
我希望对我的解析数据库进行查询,并在列表视图中显示这些信息 目前在我的活动中,我已将活动的ContentView设置为xml文档,该文档具有id为resultsView的列表 在我的Parse数据库中,我有一个名为Testing的表,希望从列“a”接收包含字符串“Test1”的所有信息。然后我想在resultsView列表中显示此信息Android 分析列表视图中显示的查询,android,parse-platform,android-query,Android,Parse Platform,Android Query,我希望对我的解析数据库进行查询,并在列表视图中显示这些信息 目前在我的活动中,我已将活动的ContentView设置为xml文档,该文档具有id为resultsView的列表 在我的Parse数据库中,我有一个名为Testing的表,希望从列“a”接收包含字符串“Test1”的所有信息。然后我想在resultsView列表中显示此信息 ParseQuery<ParseObject> query = ParseQuery.getQuery("Testing"); query.wher
ParseQuery<ParseObject> query = ParseQuery.getQuery("Testing");
query.whereEqualTo("A","Test1");
query.findInBackground(new FindCallback<ParseObject>()
{
public void done(List<ParseObject> resultsList, ParseException e) {
if (e == null) {
} else {
}
}
});
ParseQuery query=ParseQuery.getQuery(“测试”);
查询:whereEqualTo(“A”、“Test1”);
findInBackground(新的FindCallback()
{
公共作废完成(列表结果列表,Parsee异常){
如果(e==null){
}否则{
}
}
});
这个查询有什么问题,我该如何将查询到的信息添加到resultsView列表中?您是否初始化了解析,如下所示
Parse.initialize(_App, key1, key2);
要将结果添加到结果视图列表,请执行以下操作
public class CopyOfShareActivity extends Activity {
String[] resultsAsString = {""};
ListView listView;
ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.search);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, resultsAsString);
ParseQuery<ParseObject> query = ParseQuery.getQuery("Testing");
query.whereEqualTo("A","Test1");
query.findInBackground(new FindCallback<ParseObject>(){
public void done(List<ParseObject> resultsList, ParseException e) {
if (e == null) {
resultsAsString = new String[resultsList.size()];
for(int index = 0; index < resultsList.size(); index++){
//.get => .getString
resultsAsString[index] = resultsList.get(index).getString("field you want to display");
}
adapter.notifyDataSetChanged();
} else {
Log.w("Parse query", e.getMessage());
}
}
});
listView = (ListView) findViewById(R.id.ResultView);
listView.setAdapter(adapter);
}
}
公共类CopyOfShareActivity扩展了活动{
字符串[]resultsassString={”“};
列表视图列表视图;
阵列适配器;
@凌驾
创建公共空间(捆绑冰柱){
超级冰柱;
setContentView(R.layout.search);
适配器=新阵列适配器(此,
android.R.layout.simple_list_item_1,resultsaString);
ParseQuery=ParseQuery.getQuery(“测试”);
查询:whereEqualTo(“A”、“Test1”);
findInBackground(新的FindCallback(){
公共作废完成(列表结果列表,Parsee异常){
如果(e==null){
resultsAsString=新字符串[resultsList.size()];
对于(int index=0;index.getString
resultsAsString[index]=resultsList.get(index).getString(“要显示的字段”);
}
adapter.notifyDataSetChanged();
}否则{
w(“解析查询”,e.getMessage());
}
}
});
listView=(listView)findViewById(R.id.ResultView);
setAdapter(适配器);
}
}
这应该可以,我希望这次
适配器已安装
android.R.layout.simple\u list\u item\u 1
这是listView的默认布局。考虑一下ListVIEW是如何设计的。例如,如果您希望它看起来不同,您可以设计自己的布局,并用自定义ListView表示形式的名称替换“simple_list_item_1” 哈哈,代码可以编译,但是当启动ActivityOK时应用程序崩溃了2件事:这仍然是第一个被调用的吗?“Parse.initialize(_App,key1,key2);”如果是的话,你能给我提供一个stacktrace吗?是的,基本上我有一个实用类,它保存了所有的信息,在发布到数据库时工作。对不起,我是个白痴。基本上,回调是在查询结果之后执行的。这意味着初始化数组的代码是在设置listView之后执行的,listView提供了一个空数组,您的应用程序显然不喜欢它。不管怎么说,lemme在获得答案后再次更新答案,这似乎是加载项listview.getAdapter().add(resultsaString[index])的问题;以及notifyDatasetChanged调用