ParseUser用户名适配器在Android中的ListView不显示数据 [英] ParseUser Username Adapter in Android ListView doesn't show Data
本文介绍了ParseUser用户名适配器在Android中的ListView不显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试以显示我的Parse.com User.class所有的人的用户名在Android的ListView,但它不会显示任何数据,如果我执行它。
它运行在我的三星Galaxy S2采用Android 4.1.2
在code:
//创建并填充从parse对象的ArrayList
最后ArrayAdapter<串GT; listAdapter =新ArrayAdapter<串GT;(这一点,
android.R.layout.simple_list_item_1);
最终的ListView用户列表=(ListView控件)findViewById(android.R.id.list);
userlist.setAdapter(listAdapter);
最终ParseQuery查询= ParseUser.getQuery();
query.findInBackground(新FindCallback(){
@覆盖
公共无效完成(列表用户列表,ParseException的E){
如果(E == NULL){
的for(int i = 0; I< userlist.size();我++){
ParseUser U =(ParseUser)userlist.get(I)
字符串名称= u.getString(用户名);
listAdapter.add(名);
}
}
其他{
Toast.makeText(getApplicationContext(),错误,Toast.LENGTH_LONG).show();
}
} @覆盖
公共无效完成(对象o,抛出的Throwable){ }
});
中的XML:
<的LinearLayout
机器人:方向=垂直
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:layout_alignParentLeft =真
机器人:layout_alignParentStart =真
的xmlns:机器人=http://schemas.android.com/apk/res/android> < ListView控件
机器人:ID =@机器人:ID /列表
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT/>< / LinearLayout中>
和只显示一个白色的屏幕,没有用户名...
(你所需要的logcat的?)
鸭preciate帮助!
`
解决方案
ParseQueryAdapter.QueryFactory< ParseUser>厂;
厂=新ParseQueryAdapter.QueryFactory< ParseUser>(){
@覆盖
公共ParseQuery< ParseUser>创建() {
ParseQuery查询=新ParseQuery(用户);
返回查询;
}
};
mainAdapter =新ParseQueryAdapter< ParseUser>(这一点,工厂){
@覆盖
公共查看getItemView(最终用户的parseObject,视图V的ViewGroup以及母公司){
如果(V == NULL){
V = View.inflate(的getContext(),R.layout.your_list_view,NULL);
}
返回伏;
}};mainAdapter.setPaginationEnabled(真);
mainAdapter.setTextKey(称号);
mainAdapter.setImageKey(图像);
mainAdapter.loadObjects();
看看,如果这个工程
im trying to show the usernames of all the people in my Parse.com User.class in an Android ListView, but it won't show any Data if I execute it.
It runs on my Samsung Galaxy S2 with Android 4.1.2
The Code:
// Create and populate an ArrayList of objects from parse
final ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1);
final ListView userlist = (ListView) findViewById(android.R.id.list);
userlist.setAdapter(listAdapter);
final ParseQuery query = ParseUser.getQuery();
query.findInBackground(new FindCallback() {
@Override
public void done(List userlist, ParseException e) {
if (e == null) {
for (int i = 0; i < userlist.size(); i++) {
ParseUser u = (ParseUser) userlist.get(i);
String name = u.getString("username");
listAdapter.add(name);
}
}
else {
Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
}
}
@Override
public void done(Object o, Throwable throwable) {
}
});
The XML:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
And it only shows a white screen and no usernames...
(Do you need the logcat?)
Appreciate help!! `
解决方案
ParseQueryAdapter.QueryFactory<ParseUser> factory;
factory = new ParseQueryAdapter.QueryFactory<ParseUser>() {
@Override
public ParseQuery<ParseUser> create() {
ParseQuery query = new ParseQuery("User");
return query;
}
};
mainAdapter = new ParseQueryAdapter<ParseUser>(this, factory) {
@Override
public View getItemView(final ParseObject user, View v, ViewGroup parent) {
if (v == null) {
v = View.inflate(getContext(), R.layout.your_list_view, null);
}
return v;
}};
mainAdapter.setPaginationEnabled(true);
mainAdapter.setTextKey("title");
mainAdapter.setImageKey("Image");
mainAdapter.loadObjects();
see if this works
这篇关于ParseUser用户名适配器在Android中的ListView不显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文