Я пытаюсь добавить разделитель между записями в вертикальной LinearLayout, чтобы эмулировать внешний вид ListView. (Я не могу просто использовать ListView в этой конкретной ситуации.)
Это то, что у меня есть в list_divider.xml:
<?xml version="1.0" encoding="utf-8"?>
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/panel_border"
android:layout_width="fill_parent"
android:layout_height="@dimen/border_width"
/>
А вот код, который пытается накачать этот разделитель перед каждым элементом, кроме первого в списке:
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int i = 0; i < categories.size(); i++ ) {
if (i > 0)
items.addView(vi.inflate(R.layout.list_divider, null));
// these dividers never appear
// but these main entries always appear just fine
items.addView(ad.getView(i, null, null));
}
Основные элементы списка отображаются правильно, но разделители невидимы.
Разделители do появляются, если я изменю их на TextView, а не на простое View:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/panel_border"
android:layout_width="fill_parent"
android:layout_height="@dimen/border_width"
android:text="---"
/>
Я попытался установить явные значения пикселей для ширины и высоты, а также использовать параметры border_width и fill_parent. Это не имеет значения.
Есть ли что-то особенное в простом старом виде, которое не позволяет ему появиться?