Android: использование одного и того же ListView для разных списков - PullRequest
0 голосов
/ 12 октября 2010

У меня есть 3 кнопки, скажем LanguageButton, CountryButton и PinCodeButton. Когда нажата LanguageButton, я должен отобразить список языков. Аналогично для CountryButton список стран и так далее. Только один список должен отображаться одновременно.

У меня вопрос: лучше ли определить один ListView в моем макете или 3 отдельных ListView для каждого списка в моем макете!

Я пытался использовать один ListView и устанавливать соответствующие адаптеры при нажатии разных кнопок, т. Е. На onClick() languageButton, я даю setAdapter(languageArray); Но у меня возникли сомнения в реализации списка onItemClick(). Потому что то, что должно быть сделано при первом нажатии элемента в languageList, отличается от того, что должно быть сделано в countryList. Следовательно, это добавило бы больше кода в файл Java.

Так что мне просто интересно, должен ли я упростить свой код onItemClick () путем определения отдельных ListViews, или мне следует упростить мой макет и добавить логику в код?

С уважением, Kiki

Ответы [ 3 ]

1 голос
/ 12 октября 2010

Лично я бы, наверное, выбрал только один ListView для всех трех.Вы можете просто динамически изменять его содержимое в зависимости от события действия.

0 голосов
/ 12 октября 2010

Я бы использовал один ListView.В зависимости от того, с каким ListView вы связываете, просто используйте ветви IF/ELSE IF или SWITCH для выполнения различных действий в событии OnItemClick.

0 голосов
/ 12 октября 2010

Я бы определил три разных ListViews и либо показывал / скрывал их по мере необходимости, либо добавлял / удалял их. Я предпочел бы это, в том числе три определения ListViews в одной и той же Activity из-за читабельности, и я бы зашел так далеко, что создал три разных класса ListView, то есть LanguageListView , CountryListView и PinCodeListView , каждый из которых определяет свой собственный метод onItemClick с помощью setOnItemClickListener. Если в будущем у вас возникнут проблемы с памятью, вы можете взглянуть на объединение ListViews в одно Activity , но сейчас я бы пошел по пути упрощения обслуживания и хорошей читаемости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...