2015-05-26 49 views
0

我使用的模式,我用我的應用程序來填充一個ListView,但這次ListView的每個單元格中的TextView顯示空白。有正確數量的細胞(我可以通過分隔符看到),但沒有文字。請參閱我的佈局XML和我的適配器代碼:ListView中的TextView顯示空白

列表項XML,edit_list_item:

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

} 
} 

報表的打印設置的文本TextView的確能打印正確的數據。我在列表中有兩個朋友,我可以看到他們的空間,但沒有實際的文字。

任何幫助將不勝感激。

+0

你可以檢查文字顏色是不是白色?或類似於列表視圖的背景 –

+0

它看起來沒有問題,也許而不是將「null」傳遞給「inflate」的第二個參數,將「parent」傳遞給它? – Surely

+0

「http://schemas.android.com/apk/res/android」在 Gordak

回答

0

那麼,在這種情況下,它似乎是文本顏色與背景相同,但沒有理由這樣的情況。該活動繼承AppTheme,其中TextColor設置爲黑色。 ListView的字體也比應用程序中的其他ListView小 - 因此我必須查看斷開連接的位置,然後更新答案。