Ответ 1
Из http://developer.android.com/reference/android/app/ListActivity.html:
"ListActivity имеет макет по умолчанию, который состоит из одного полноэкранного списка в центре экрана. Однако, если вы хотите, вы можете настроить макет экрана, установив свой собственный макет представления с помощью setContentView() в onCreate(). Для этого ваш собственный просмотр ДОЛЖЕН содержать объект ListView с идентификатором" @android: id/list ""
EDIT: вот пример:
ListActivity может быть создан следующим образом:
public class ListViewTest extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] values = {"One", "Two", "Three"}; setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, values)); setContentView(R.layout.main); } }
Макет main.xml
выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:id="@android:id/list"></ListView> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Test button" android:id="@+id/TestButton"></Button> </LinearLayout>