В чем разница между расширением действия и расширением ListActivity?

Я использую класс, который расширяет Activity для получения списка из API …

В некоторых приложениях, которые делают в основном то же самое, разработчики расширили ListActivity …

Каковы различия?

Solutions Collecting From Web of "В чем разница между расширением действия и расширением ListActivity?"

ListActivity расширяет функциональность общей версии android.app.Activity , предоставляя вам ряд функций, ориентированных на список, «бесплатно». Например, обработка щелчка на onListItemClick(...) списка аккуратно содержится в onListItemClick onListItemClick(...) тогда как если бы вы использовали простой android.app.Activity вам нужно было бы реализовать это вручную с помощью OnClickListener и реализации.

По всем учетным записям, если ваш макет содержит список, используйте ListActivity / ListFragment, поскольку он является полезным расширением. Это не значит, что весь экран должен быть списком, но часть его должна размещать виджет ListView с идентификатором id="@android:id/list" .

Javadoc в классе с полезными примерами его использования можно найти здесь .

ListActivities специально разработаны для использования с ListViews. Он предоставляет несколько вспомогательных методов, таких как onListItemClick () , которые упрощают использование ListView в них.

Вы можете делать все, что вы можете сделать в Activity в ListActivity.

Если вы хотите изменить макет ListActivity, вы все еще можете использовать метод setContentView () из Activity. Пока есть ListView, называемый @android: id / list где-то в вашем представлении ListActivity все равно будет работать.

Если вы все еще не уверены, вы всегда можете посмотреть исходный код для ListActivity (связанный с кодом Jelly Bean) и увидеть, что он не делает ничего, кроме вашей жизни, немного легче.

Расширяясь от ListActivity вы соглашаетесь с контрактом, что в макете вашей деятельности будет доступен компонент ListView .

Ваш компонент ListView должен иметь идентификатор: @android:id/list

Класс ListView предоставляет удобные методы работы и управления ListView

Кроме того, в обычном onCreate вы можете использовать код ниже в onCreate чтобы скрыть заголовок onCreate приложения. Кажется, что вы не можете сделать то же самое в ListActivity . (Усвоил этот трудный путь)

 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_list); // The rest of the content of onCreate