Android 为什么我的ArrayAdapter不能显示文本?(安卓)
我在获取arrayAdapter中的文本以显示文本时遇到问题。该列表确实会在emulator中以颜色等显示,但文本不会显示。。。我运行时没有任何错误,ArrayAdapter中的Log.I()会打印预期的文本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
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()
顺便说一下,解析UI库可能会有所帮助。但是如果日志语句显示了数据,那么代码中还有其他一些错误,你不知道除了这些之外还能做什么?除了提供的代码之外,我只有“后端”解析功能。我不太喜欢parse文档,所以我可能不会使用ParseUI。你可以添加你看到的屏幕截图吗?只是好奇,如果你删除了android:weightSum=“1”?颜色呢?@cricket_007卸下了重量!谢谢权重总和是我的问题