Android: ListView в сложном layout

Если есть потребность совместить ListView с какми-либо ещё View в одном Activity, то требуется соблюсти несколько правил:

  • Обязательно наследовать активити от ListActivity, а не от Activity
  • В onCreate() Activity поместить установку разметки, навроде setContentView(R.layout.chat);
  • Поместить в корень layout пустой ListView c android:id="@android:id/list"
  • Для адаптера списка вызывать setListAdapter(mUidsAdapter);

В частности, может возникнуть ошибка

01-04 21:11:31.277: ERROR/AndroidRuntime(208):
Caused by: java.lang.RuntimeException:
Your content must have a ListView whose id attribute is 'android.R.id.list'

Это связанно с тем, что забыли добавить в xml layout пустой ListView. Чтоб исправить следует сделать нечто вроде:

<ListView android:id="@android:id/list" android:layout_width="fill_parent"
android:layout_height="fill_parent" />