为什么我的 ArrayAdapter 不显示文本? (Android)

Why wont my ArrayAdapter display text? (Android)

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

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>

这是屏幕输出:

如果记录了数据,则表明您遇到了一些布局问题。

建议:

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

  2. 您有两个视图,但是 android:weightSum="1",因此请尝试将其删除。

  3. 可能文本颜色设置为与背景颜色相同。去除颜色。