Android: ListView tells me that it is full but does not display items

So, I searched googled and searched SO for an answer to what, in my opinion, is a ridiculous oversight, but here it goes.

I have ListViewone that I populate with the help ArrayAdapterthat I build from a list of objects that I use elsewhere in my application. I checked through getCountthat there are elements in the adapter, both before and after the call .setAdapter(). However, nothing is displayed in my application.

My main layout 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>

(I set the colors so that I can see what happens easier)

textviewfor each item 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>

and the code I use to populate it:

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()returns String[]and it works.

.notifyDataSetChanged() , , SO .

android:layout_height ListView XML wrap_content, , LinearLayout, . ListView android:layout_height match_parent, #206 ().

getCount() setAdapter(), , . , , , . , .

+5
1

android:orientation="horizontal" android:orientation="vertical", .

+2
source

All Articles