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的確能打印正確的數據。我在列表中有兩個朋友,我可以看到他們的空間,但沒有實際的文字。
任何幫助將不勝感激。
你可以檢查文字顏色是不是白色?或類似於列表視圖的背景 –
它看起來沒有問題,也許而不是將「null」傳遞給「inflate」的第二個參數,將「parent」傳遞給它? – Surely
「http://schemas.android.com/apk/res/android」在
Gordak