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

Android 为什么我的ArrayAdapter不能显示文本?(安卓),android,parse-platform,android-arrayadapter,Android,Parse Platform,Android Arrayadapter,我在获取arrayAdapter中的文本以显示文本时遇到问题。该列表确实会在emulator中以颜色等显示,但文本不会显示。。。我运行时没有任何错误,ArrayAdapter中的Log.I()会打印预期的文本 public class ListingArrayAdapter extends ArrayAdapter<ParseObject> { final String TAG = "ListingArrayAdapter"; public ListingArray

我在获取arrayAdapter中的文本以显示文本时遇到问题。该列表确实会在emulator中以颜色等显示,但文本不会显示。。。我运行时没有任何错误,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;
    }

}
公共类ListingArrayAdapter扩展了ArrayAdapter{
最终字符串标记=“ListingArrayAdapter”;
公共列表ArrayAdapter(上下文上下文、ArrayList列表){
超级(上下文,0,列表);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
convertView=LayoutInflater.from(getContext())
.充气(R.layout.listing\u项目,父项,false);
最终视图持有者=新的视图持有者();
holder.body=(TextView)convertView.findViewById(R.id.tvBody);
holder.title=(TextView)convertView.findViewById(R.id.tvTitle);
convertView.setTag(支架);
}
最终ParseObject listing=getItem(位置);
final ViewHolder=(ViewHolder)convertView.getTag();
holder.body.setText(listing.getString(“desc”));
holder.title.setText(listing.getString(“title”);
Log.i(TAG,“info set”+listing.getString(“title”);
//正确记录标题,因此getString()不会返回文本
返回视图;
}
最终类视窗持有者{
公共文本视图标题;
公共文本视图机构;
}
}
布局:

<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>

以下是屏幕输出:

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

建议:

  • 确保在添加到适配器后正在调用
    notifyDataSetChanged()

  • 您有两个视图,但是android:weightSum=“1”,所以请尝试删除它们

  • 可能文字颜色设置为与背景相同。去掉颜色


  • 顺便说一下,解析UI库可能会有所帮助。但是如果日志语句显示了数据,那么代码中还有其他一些错误,你不知道除了这些之外还能做什么?除了提供的代码之外,我只有“后端”解析功能。我不太喜欢parse文档,所以我可能不会使用ParseUI。你可以添加你看到的屏幕截图吗?只是好奇,如果你删除了android:weightSum=“1”?颜色呢?@cricket_007卸下了重量!谢谢权重总和是我的问题