Вы получаете это, потому что вы установили ListView
в вашем setContentView
. Вместо этого добавьте его в LinearLayout
, и тогда ваш ListView
появится вместе с двумя TextView
, указанными вами для заголовка иописание.
Еще одна вещь, я думаю, вы должны либо использовать android.R.layout.simple_list_item_1
в адаптере, либо вам нужно создать пользовательский xml
для настроенного TextView
и использовать его там, а затем добавить
<TextView android:id="@+id/list_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
в вашем xml
.
Таким образом, в основном ваш xml будет:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout"
android:orientation="vertical">
<TextView android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
, а ваш cusotmized xml будет:
custom_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/list_item"
android:layout_width="fill_parent"
android:id="@+id/list_item"
android:layout_height="wrap_content" />
</LinearLayout>
Итак, наконец, ваша строка адаптера будет:
lv.setAdapter(new ArrayAdapter<String>(this,R.layout.custom_item,R.id.list_item,Categories));
, а затем
LinearLayout layout=(LinearLayout)findViewById(R.id.layout);
layout.addView(lv);