Android ListView中的TextView显示为空

Android ListView中的TextView显示为空,android,listview,textview,adapter,baseadapter,Android,Listview,Textview,Adapter,Baseadapter,我在应用程序中使用了一种填充ListView的模式,但这次ListView的每个单元格中的TextView显示为空白。有正确数量的单元格(我可以通过分隔符看到),但没有文本。请参阅我的布局XML和适配器的代码: 列表项XML,编辑列表项: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

我在应用程序中使用了一种填充ListView的模式,但这次ListView的每个单元格中的TextView显示为空白。有正确数量的单元格(我可以通过分隔符看到),但没有文本。请参阅我的布局XML和适配器的代码:

列表项XML,编辑列表项:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:minHeight="?android:attr/listPreferredItemHeight"
      android:gravity="center_vertical"
      android:focusable="true"
      android:id="@+id/list_item_textview"/>

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:id="@+id/list_item_checkbox"
    android:focusable="false"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:layout_alignParentRight="true"
    />


</RelativeLayout>

我的适配器类:

public class EditGroupObjectListAdapter extends BaseAdapter {
public static String LOG_TAG = EditGroupObjectListAdapter.class.getSimpleName();

private LayoutInflater mInflater;
private Context context;

private ArrayList<EditBuddy> allEditBuddies;
private List<String> buddiesInGroup;


public EditGrouphObjectListAdapter(Context context, List<String> buddiesInGroup, List<Buddy> allBuddies) {
    this.context = context;
    mInflater = LayoutInflater.from(context);
    this.allEditBuddies = new ArrayList<>();
    this.buddiesInGroup = buddiesInGroup;
    for (Buddy buddy : allBuddies) {
        EditBuddy editBuddy = new EditBuddy(buddy);
        if (this.buddiesInGroup.contains(editBuddy.get_buddy_username())) {
            editBuddy.setIsInBunch(true);
            editBuddy.setIsSelected(true);
        }
        allEditBuddies.add(editBuddy);
    }
}

public ArrayList<EditBuddy> getAllBuddies() {
    return this.allEditBuddies;
}

@Override
public int getCount() {
    return allEditBuddies.size();
}

@Override
public Object getItem(int position) {
    return allEditBuddies.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    if (mInflater == null)
        mInflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null)
        convertView = mInflater.inflate(R.layout.edit_list_item, null);

// Another way of instantiating convertView
//            LayoutInflater inflater = (LayoutInflater) this.context
//                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//            convertView = inflater.inflate(R.layout.edit_bunch_list_item, parent, false);

    EditBuddy editBuddy = (EditBuddy)getItem(position);
    Log.d(LOG_TAG, "Name: " + editBuddy.get_buddy_full_name());
    Log.d(LOG_TAG, "UserName: " + editBuddy.get_buddy_username());

    TextView buddyFullNameTextview = (TextView)convertView.findViewById(R.id.list_item_textview);

    buddyFullNameTextview.setText(editBuddy.get_buddy_full_name());

// Checkbox code omitted

    return convertView;

}
}
公共类EditGroupObjectListAdapter扩展了BaseAdapter{
公共静态字符串LOG_TAG=EditGroupObjectListAdapter.class.getSimpleName();
私人停车场;
私人语境;
私人ArrayList Alledities;
私人名单好友组;
公共EditGrouphObjectListAdapter(上下文上下文、列表好友组、列表所有好友){
this.context=上下文;
mInflater=LayoutInflater.from(上下文);
this.alleditbudies=newarraylist();
this.buddiesInGroup=buddiesInGroup;
用于(好友:所有好友){
EditBuddy EditBuddy=新的EditBuddy(buddy);
if(this.buddiesInGroup.contains(editBuddy.get\u buddy\u username())){
editBuddy.setIsInBunch(true);
editBuddy.setIsSelected(true);
}
allEditBuddies.add(editBuddy);
}
}
公共阵列列表getAllBuddies(){
把这个还给我;
}
@凌驾
public int getCount(){
返回allEditBuddies.size();
}
@凌驾
公共对象getItem(int位置){
返回allEditBuddies.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
if(mInflater==null)
mInflater=(LayoutInflater)上下文
.getSystemService(上下文布局\充气机\服务);
if(convertView==null)
convertView=mInflater.充气(R.layout.edit\u list\u项,空);
//实例化convertView的另一种方法
//LayoutInflater充气器=(LayoutInflater)this.context
//.getSystemService(上下文布局\充气机\服务);
//convertView=充气机。充气(R.layout.edit\u bunch\u list\u项,父项,false);
EditBuddy=(EditBuddy)getItem(位置);
d(Log_标签,“Name:+editbddy.get_buddy_full_Name());
d(Log_标签,“UserName:+editbody.get_buddy_UserName());
TextView buddyFullNameTextview=(TextView)convertView.findViewById(R.id.list\u item\u TextView);
buddyFullNameTextview.setText(editBuddy.get_buddy_full_name());
//复选框代码省略
返回视图;
}
}
设置TextView文本之前的print语句确实在打印正确的数据。我有两个朋友在列表中,我可以看到他们的空格,但没有实际的文本


任何帮助都将不胜感激。

好吧,在这种情况下,文本颜色似乎与背景颜色相同,但没有理由如此。该活动继承AppTheme,其TextColor设置为黑色。ListView的字体也比应用程序中的其他ListView小,因此我必须查看断开连接的位置,然后更新答案。

您能检查文本颜色是否不是白色吗?或者类似于listviewit的背景看起来没有问题,也许不是将“null”传递给第二个参数“inflate”,而是将“parent”传递给它?“在中不是必需的,我搞乱了,将TextView的文本设置为黑色,只是为了好玩-它实际上使文本显示出来!但是我没有将文本设置为任何其他颜色(比如白色,它显然不会显示),并且我的整个应用程序(在themes.xml中定义)的文本颜色是黑色!那么是什么原因呢?这是虫子吗?哇,我之前都没看过你们的评论。你觉得怎么样?你在适配器上调用notifyDataSetChanged吗?