Android: ListView говорит мне, что он заполнен, но не отображает элементы

Таким образом, я искал Google и искал SO для ответа на то, что, по моему мнению, является смехотворным недосмотром, но здесь.

У меня есть ListView который я ArrayAdapter который я ArrayAdapter из списка объектов, которые я использую в другом месте в своем приложении. Я проверил через getCount что есть элементы в адаптере, как до, так и после вызова .setAdapter() . Однако в моем приложении ничего не появляется.

Мой основной макет res/layout/playlistview :

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/playlist_screen" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="#80000000" android:gravity="center" android:orientation="horizontal" > <ListView android:id="@+id/playlistview" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="#206" android:background="#602" > </ListView> </LinearLayout> 

(Я установил цвета, чтобы я мог видеть, что происходит более легко)

textview для каждого элемента res/layout/singlelistitem :

 <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/single_item" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="16sp" android:padding="5dp" android:background="#206"> </TextView> 

И код, который я использую для его заполнения:

 private ListView playlistView; private void buildPlaylistView() { playlistView = (ListView)findViewById(R.id.playlistview); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.singlelistitem, R.id.single_item, playlist.titlesAsArray()); playlistView.setAdapter(adapter); playlistView.setVisibility(View.VISIBLE); adapter.notifyDataSetChanged(); ((ArrayAdapter<String>)playlistView.getAdapter()).notifyDataSetChanged(); } 

playlist.titlesAsArray() возвращает String[] и он работает.

У меня есть оба .notifyDataSetChanged() , так как я нашел это на SO и дал ему попробовать.

Когда я меняю android:layout_height в объекте ListView в моем XML на wrap_content , я вижу только непрозрачный фон, который находится в LinearLayout который его обертывает. Когда я устанавливаю ListView android:layout_height в match_parent , весь экран #206 (пурпурный).

Когда я проверяю getCount() на адаптере перед setAdapter() он говорит, что есть элементы. Когда я проверю его после, из самого представления, он говорит, что есть одинаковое количество элементов. Я полностью потерял это, но ничего не отображается.

Попробуйте перейти от android:orientation="horizontal" к android:orientation="vertical" это может исправить.