ParseUser用户名适配器在Android中的ListView不显示数据 [英] ParseUser Username Adapter in Android ListView doesn't show Data

查看:191
本文介绍了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:机器人=htt​​p://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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆