java - Android ListView 只显示最新的项目

标签 java android xml listview

我正在使用 parse.com 中的项目填充 ListView 。不久前它工作得很好,然后由于某种原因,一旦我从 eclipse 更改为 android studio,它开始只显示最新的项目。

适配器

public class MyCustomAdapter extends ParseQueryAdapter<ParseObject> {

        public MyCustomAdapter(Context context) {
            super(context, "Comments", R.layout.comments_listview_item);
        }

        @Override
        public View getItemView(ParseObject comment, View view, ViewGroup parent) {
            view = View.inflate(getApplicationContext(), R.layout.comments_listview_item, null);
            mListViewReferences(view);
            loadComments();

            commenttext.setText(comment.getString("Comment"));
            commentersUserName.setText(comment.getString("Commenter"));

            return super.getItemView(comment, view, parent);
        }

        /**
         * Set References
         */
        private void mListViewReferences(final View view) {
            commentersUserName = (TextView) view.findViewById(R.id.commentersUserName);
            commenttext = (TextView) view.findViewById(R.id.commenttext);
        }
    }

xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="0dp"
    android:padding="0dp">

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_margin="0dp"
        android:background="@drawable/actionmenubackground">

        <TextView
            android:id="@+id/commenttext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="11dp"
            android:layout_toRightOf="@+id/comentFullName"
            android:text="COMMENTS"
            android:textColor="@color/white"
            android:textSize="20sp"
            android:textStyle="bold" />

        <ImageButton
            android:id="@+id/backButton"
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_margin="0dp"
            android:background="@null"
            android:src="@drawable/back_arrow" />

        <TextView
            android:id="@+id/comentFullName"
            android:layout_width="2dp"
            android:layout_height="30dp"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@+id/backButton"
            android:background="#E0E0E0" />

    </RelativeLayout>

    <EditText
        android:id="@+id/setComment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/submitComment"
        android:layout_toLeftOf="@+id/submitComment"
        android:ems="10"
        android:hint="Add a comment" />

    <ImageButton
        android:id="@+id/submitComment"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@drawable/actionmenubackground"
        android:src="@drawable/commentsubmitarrow" />

    <View
        android:id="@+id/view1"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/setComment"
        android:background="@color/green" />

    <ListView
        android:id="@+id/commentsListView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:divider="@null"
        android:dividerHeight="5dp"
        android:clickable="false"
        android:listSelector="@android:color/transparent"
        android:layout_below="@+id/relativeLayout1"
        android:layout_above="@+id/setComment"
        android:choiceMode="none" />

</RelativeLayout>

这是我的loadComments方法();

void loadComments() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            MyCustomAdapter adapter = new MyCustomAdapter(getApplicationContext());
            commentsListView.setAdapter(adapter);
        }
    });
}

最佳答案

你应该返回 View

public View getItemView(ParseObject comment, View view, ViewGroup parent) {
    view = View.inflate(getApplicationContext(), R.layout.comments_listview_item, null);
    mListViewReferences(view);
    //loadComments();

    commenttext.setText(comment.getString("Comment"));
    commentersUserName.setText(comment.getString("Commenter"));

    return view;
}

关于java - Android ListView 只显示最新的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26210489/

相关文章:

java - 以编程方式添加实体时出现 MappingNotFound 异常

java - header 签名无效 - 使用 Apache POI 打开 XLS

java - 格式不正确 - XML 到 Json 的转换

java - 就引用传递而言,php 与 java 相同吗?

java - 配置 Spring MVC 以将 GET 请求映射到 Controller 中的一个方法,并将 OPTIONS 请求映射到另一个方法

php - Android HTTPPost 空

android - 我们可以通过 intent 在 android 中传输多少数据?

java - Android中如何通过多个参数查询DownloadManager

c# - 如何处理 XML 属性值中未转义的引号字符?

java - 如何在 Android 上使用 tabHost