Android - активность против ListActivity - какой класс должен расширить мой класс активности? - PullRequest
29 голосов
/ 09 января 2010

Я учился разрабатывать в Android, и у меня возник более общий вопрос: если у меня есть макет, который использует список и некоторые другие представления, я должен использовать Activity или ListActivity для своего класса активности?

Я знаю, что ListActivity, вероятно, облегчит переопределение событий, относящихся к списку, но есть ли другое преимущество использования ListActivity над Activity? Что если я хотел бы изменить макет в будущем на GridView? Будет ли больший / меньший боль изменить код класса?

Мне просто было любопытно узнать о «лучших методах» в этом отношении и о том, что за этим стоит польза, поэтому любой ответ будет полезен:)

Бар

Ответы [ 3 ]

43 голосов
/ 09 января 2010

Я бы использовал ListActivity, поскольку он дает вам множество быстрых методов, чтобы упростить задачу и сделать ваш код более читабельным.

Например, вы получаете onListItemClick() method, который вызывается всякий раз, когда вы щелкаете элемент, который избавляет вас от создания отдельного слушателя.

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

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

11 голосов
/ 09 января 2010

Я бы пошел с деятельностью. На самом деле не вижу смысла использовать ListActivity, если только вы не хотите сделать что-то тривиальное и не знаете, что это будет со списком.

0 голосов
/ 25 января 2018

Вы должны использовать Activity, а не ListActivity, потому что коды ListActivity не подлежат повторному использованию, и вам нужно писать их снова и снова.

...