Каковы различия между расширением активности и продление листики? -- android поле с участием android-activity поле с участием listactivity поле с участием extend пол Связанный проблема

What are the differences between extending Activity and extending ListActivity?


11
vote

проблема

русский

Я использую класс, который расширяет активность, чтобы получить список из API ...

в некоторых приложениях, которые делают в основном то же самое, разработчика DEV PREES ...

Какие различия?

Английский оригинал

I am using a class which extends Activity to obtain a list from an API...

In some apps which do basically the same, the devs extended ListActivity...

Which are the differences?

</div
           

Список ответов

11
 
vote
vote
Лучший ответ
 

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

<Р> Судя по всему, если ваш макет содержит список затем использовать ListActivity / ListFragment, поскольку он является полезным расширением. Это не означает, что весь ваш макет экрана должен быть список, но часть его должна хозяйничать ListView виджет с идентификатором <код> (function() { var currentSound; // I have a div called "page" var soundcv = document.body; // This only works for one sound for simplicity's sake function playSound(sound){ if (currentSound == null){ var audio = document.createElement('audio'); audio.src = sound; soundcv.appendChild(audio); currentSound = audio; } currentSound.play(); } // This isn't a real audio file URL - replace it with one of your own playSound('http://example.com/example.mp3'); })(); 0 . <Р> Javadoc на классе с полезными примерами того, как использовать его можно найти здесь .
 

ListActivity extends the functionality of the common android.app.Activity by providing a number of list centric features 'for-free' if you like. For example, the handling of a list entry click is neatly contained within ListActivity's onListItemClick(...) whereas if you were using a plain android.app.Activity then you would need to implement this manually with an OnClickListener and implementation.

By all accounts, if your layout contains a list then use a ListActivity/ListFragment since it is a useful extension. It does not mean your whole screen layout has to be list but a portion of it has to host a ListView widget with identifier, id="@android:id/list".

The Javadoc on the class with useful examples of how to use it can be found here.

</div
 
 
   
   
3
 
vote
Листики

специально разработаны для использования с ListViews. Он обеспечивает несколько помощников, таких как OnListiteMClick () , что облегчает использование в них listView.

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

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

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

 

ListActivities are specially designed to be used with ListViews. It provides several helper methods like onListItemClick(), which make it easier to use a ListView in them.

You can do anything you can do in an Activity in a ListActivity.

If you want to change the layout of a ListActivity you still can with setContentView() method from Activity. As long as there is a ListView called @android:id/list somewhere in your View the ListActivity will still work.

If you're still not sure, you could always look at the source code for ListActivity (Jelly Bean code linked to) and see that it doesn't do all that much other than make your life a little easier.

</div
 
 
2
 
vote

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

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

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

 

Extending from the ListActivity you agree with the contract that in the layout of your activity a ListView component will be available.

Your ListView component should have the id: @android:id/list

The ListView class provides convenient methods for working and manipulating the ListView

</div
 
 
0
 
vote

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

 <код> requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_list); // The rest of the content of onCreate   
 

Also, in a regular Activity you can use the code below in onCreate to hide the app titlebar. It seems that you can't do the same in a ListActivity. (learned this the hard way)

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

Связанный проблема

1  Android: Альтернатива для System_alert_window, чтобы отобразить наложение в App Action  ( Android alternative for system alert window to display an overlay across app ac ) 
Я хотел бы добавить функцию чата в моем приложении, который будет доступен во всех видах деятельности - вы можете начать чат в пределах одного вида деятельнос...

0  Ошибка при установке Android Stuidio  ( Error upon installation of android stuidio ) 
При установке Android-студии Есть ошибка «Не могу написать: C Program Files Android Studio Richle M2repository org apache apache-9.pom ...

3  Кокосовая игра в Android показывает только черный экран  ( Cocos2d game in android only shows a black screen ) 
У меня есть опыт работы с Cocos2D + iPhone, и теперь я хочу получить некоторый опыт работы с Cocos2D + Android. Итак, я следую в этом хорошем уроке, найденном...

0  Не может назначить изображение Nullable ImageView  ( Cant assign an image to a nullable imageview ) 
Как я могу установить изображение на imageView? Идея моего приложения состоит в том, чтобы показать различный тип видового держателя RecyClerview в соответс...

0  Освежающие виды внутри фрагмента андроида  ( Refreshing views inside an android fragment ) 
Так что я делаю приложение, которое использует и SQLite база данных. Он имеет 3 вдохновляемых вкладок, созданных с использованием фрагментов и таких. На одной...

0  Как обрабатывать события «KeyDown», которые возникают, когда меню параметров открыты в приложении Google Glass  ( How to handle keydown events that occur when options menu is opened in google ) 
Я хочу предотвратить возможность пользователей сфотографировать с помощью кнопки внешней камеры в Google Glass, когда внутри моего приложения. Я в настоящее...

-2  Схема базы данных для одного со многими отношениями  ( Database schema for one to many relationship ) 
Я хочу создать схему базы данных для следующего запроса 1) У него будет одна категория объекта (столбца), которая будет иметь несколько подкатегорий 2) и ...

1  Как использовать карандаш для пользовательского интерфейса «* .ep /*.epz файлы» для создания макета Android  ( How to use ui pencil ep epz files to create android layout ) 
Я новый для программирования и Android, я только начал изучать программу Android. Я скачал Ui Evolus карандаш. Вывод, сгенерированный карандашом программой, я...

-1  Проблема с Edittext внутри ScrollView спрятана в InpoinkyBoard  ( Issue with edittext inside a scrollview getting hidden by the inputkeyboard ) 
HEJ, У меня есть Edittext для пользователя, чтобы войти в его местоположение, и это находится в ScrollView. Когда пользователь нажимает внутри него, я хочу,...

0  Как я могу удалить из View Recycler, если условие будет выполнено?  ( How can i remove from recycler view if the condition is met ) 
Так что я извлекаю данные из Firebase, то я хочу удалить элемент, если условие выполняется не в моей базе данных, просто удалить его из <код> recyclerview ...

1  Самый быстрый способ подключения Android к Arduino по беспроводной связи?  ( Fastest way to connect android to arduino wirelessly ) 
Я ищу действительно быстрый, простой, в основном подключаемый способ подключения Android, чтобы Arduino по беспроводной связи. Я ищу очень базовую функциональ...

4  Нет libffmpeg.so для аргументов командной строки после строительства FFMPEG для Android  ( No libffmpeg so for command line arguments after building ffmpeg for android ) 
Я следовал в руководстве Roman10 и сборка заканчивается просто хорошо. Но у меня есть файлы .so для всего, кроме ffmpeg.so (или я вижу это как libffmpeg.so ...

6  Фрагмент не отвечает на обновления UI и события Eventbus после резюме  ( Fragment does not respond to ui updates and eventbus events after resume ) 
У меня есть <код> SearchFragment класс, который расширяет класс под названием <код> BaseFragment , в котором <код> onResume и <код> onStop переопределен ка...

2  Ошибка доступа к SD-карте на Samsung Galaxy Note 3 Kitkat (4.4.x)  ( Error accessing the sd card on samsung galaxy note 3 kitkat 4 4 x ) 
Поскольку Samsung обновил Примечание 3 до 4.4.x, я получаю следующее исключение при записи на SD-карту: <код> java.io.IOException: open failed: EACCES (Perm...

1  Android ListView с некоторыми показанными элементами и показывать больше кнопки  ( Android listview with some items shown and show more button ) 
Я нахожу его трудно искать то, что я ищу, поэтому я думал, что постараюсь объяснить это здесь. В настоящее время у меня есть пользовательский список в ScrollV...

Связанный проблема

1  Android: Альтернатива для System_alert_window, чтобы отобразить наложение в App Action 
0  Ошибка при установке Android Stuidio 
3  Кокосовая игра в Android показывает только черный экран 
0  Не может назначить изображение Nullable ImageView 
0  Освежающие виды внутри фрагмента андроида 
0  Как обрабатывать события «KeyDown», которые возникают, когда меню параметров открыты в приложении Google Glass 
-2  Схема базы данных для одного со многими отношениями 
1  Как использовать карандаш для пользовательского интерфейса «* .ep /*.epz файлы» для создания макета Android 
-1  Проблема с Edittext внутри ScrollView спрятана в InpoinkyBoard 
0  Как я могу удалить из View Recycler, если условие будет выполнено? 
1  Самый быстрый способ подключения Android к Arduino по беспроводной связи? 
4  Нет libffmpeg.so для аргументов командной строки после строительства FFMPEG для Android 
6  Фрагмент не отвечает на обновления UI и события Eventbus после резюме 
2  Ошибка доступа к SD-карте на Samsung Galaxy Note 3 Kitkat (4.4.x) 
1  Android ListView с некоторыми показанными элементами и показывать больше кнопки