为什么我的ArrayAdapter不会显示文字? (机器人)

时间:2017-02-26 19:09:10

标签: android parse-platform android-arrayadapter

我无法在arrayAdapter中获取文本以显示文本。该列表确实显示在模拟器中的颜色等,但文本不会显示...我运行时没有任何错误和我在ArrayAdapter中的Log.i()会打印预期的文字。

public class ListingArrayAdapter extends ArrayAdapter<ParseObject> {
    final String TAG = "ListingArrayAdapter";

    public ListingArrayAdapter(Context context, ArrayList<ParseObject> listings){
        super(context,0,listings);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent){
        if(convertView == null) {
            convertView = LayoutInflater.from(getContext())
                    .inflate(R.layout.listing_item, parent, false);
            final ViewHolder holder = new ViewHolder();
            holder.body = (TextView) convertView.findViewById(R.id.tvBody);
            holder.title = (TextView) convertView.findViewById(R.id.tvTitle);
            convertView.setTag(holder);
        }

        final ParseObject listing = getItem(position);
        final ViewHolder holder = (ViewHolder)convertView.getTag();

        holder.body.setText(listing.getString("desc"));
        holder.title.setText(listing.getString("title"));

        Log.i(TAG, "info set" + listing.getString("title"));
        //Logs the title correctly so, the getString() does return text
        return convertView;
    }


    final class ViewHolder {
        public TextView title;
        public TextView body;
    }

}

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="1">

    <TextView
        android:id="@+id/tvTitle"
        android:padding="20dp"
        android:lines="1"
        android:layout_width="match_parent"
        android:background="@color/colorAccent"
        android:layout_height="wrap_content">
    </TextView>

    <TextView
        android:id="@+id/tvBody"
        android:padding="20dp"
        android:lines="2"
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="?android:attr/detailsElementBackground">
    </TextView>

</LinearLayout>

这是屏幕输出: enter image description here

1 个答案:

答案 0 :(得分:1)

如果记录了数据,则会出现一些布局问题。

建议:

  1. 确保在添加到适配器后调用notifyDataSetChanged()

  2. 您有两个视图,但android:weightSum="1",请尝试删除它。

  3. 也许文本颜色设置为与背景相同。删除颜色。