Форум программистов, компьютерный форум CyberForum.ru

Привязка класса к ArrayAdapter - Android

Восстановить пароль Регистрация
Другие темы раздела
Android Android studio использование внешнего JAR пакета http://www.cyberforum.ru/android-dev/thread1346871.html
Предыстория. Пишу в основном на бидлере для винды и си для контроллеров. Начал изучение андроида. Все понятно кроме подключения внешних пакетов JAR. Итак, моя задача построить график. Для этого взял библиотеку achartengine-1.1.0. Сделал папку libs и поместил её туда. После получил это (скрин ниже). Вопрос - проект подхватил или нет?
Android Смена ориентации экрана Не могу понять в чём причина. Решил перепелить приложение, удалил все классы и лайауты кроме Майновских создал новый класс и прикрепил к нему новый лайаут (его ориентация портретная). сделал что бы по нажатию кнопки главный экран сменялся новый, почему то когда смена происходит а нового экрана ориентация становиться альбомная. Не могу разобраться почему так происходит. http://www.cyberforum.ru/android-dev/thread1346832.html
Android Studio 1.0.2 Не запускает даже Hello World! Android
Начал своё знакомство с AS версии 0.8.6. Решил перейти на новую версию, тк она должна быть без багов, глюков и вообще комфортнее. Но перейдя на версию 1.0.2 у меня перестал запускаться даже Hello World(код вообще не был затронут)! Вылетает ошибка:
Почему работает? Android
Всем привет. Недавно начал изучать Android, и вот возник вопрос. Пишу в Eclips'е, при создании проекта создается две папки appcompat_v7 и папка самого проекта, у меня есть такая строка кода: <item name="android:background">@drawable/abc_item_background_holo_dark</item> файл abc_item_background_holo_dark изначально находился в папке appcompat_v7, но я скопировал его себе в папку проекта. При...
Android Сделать обычный get запрос http://www.cyberforum.ru/android-dev/thread1346645.html
Всем привет, помогите мне сделать обычный get запрос, желательно подробно, я просто ещё новичок и мало что понимаю :cry:
Android Перезагрузка списка при смене ориентации приложения Приветствую. Имеется приложение построено на фрагментах . В приложении есть фрагмент с listview в который загружается информации из базы при запуске в oncreateview фрагмента. Проблема в том что при смене ориентации происходит повторная перегрузка данных в список что сказывается на удобстве работы с приложением. Можно ли как то менять ориентацию без перегрузки списка.? подробнее

Показать сообщение отдельно
Sony17
28 / 28 / 6
Регистрация: 24.05.2013
Сообщений: 157
05.01.2015, 21:27     Привязка класса к ArrayAdapter
Цитата Сообщение от BigOblom Посмотреть сообщение
1 Экран - Список тем опросов, при выборе =>
Грубо говоря, каждый элемент списка - опрос(Polls). При нажатии на элемент списка, получаете этот опрос. Для этого, все же наверное лучше создать класс, наследоваться от адаптера, переопределить метод getView() и для View(разметка элементов списка), которую возвращает метод getView(), методом setTag(currentPolls) добавить опрос. Примерно так:

Java
1
2
3
4
5
6
7
@Override
public View getView(int position, View convertView, ViewGroup parent) {
      view = inflater.inflate(R.layout.pollsList, null);
      ...
      view.setTag(polls); // polls - опрос для текущего элемента списка
      return view;
}
Когда пользователь выбирает элемент списка, нужно этот опрос получить и открыть 2 Экран, передав туда выбранный опрос. Примерно так:

Java
1
2
3
4
5
Polls polls = (Polls) v.getTag(); // v - та самая view из кода выше; 
                                               во всех 'кликабельных' слушателях она есть(напр. onClick(View v))
Intent intent = new Intent(getActivity(), 2 Экран.class);
intent.putExtra("Key", polls);
startActivity(intent);
Важно! Класс Polls должен реализовывать интерфейс Serializable:

Java
1
public class Polls implements Serializable



Цитата Сообщение от BigOblom Посмотреть сообщение
2 Экран - Конкретный вопрос с вариантами ответа, при нажатии кнопки готово =>
в методе onCreateView() ловим отправленный ранее intent:

Java
1
2
Intent intent = getIntent();
final Polls polls = (Polls) intent.getSerializableExtra("Key");
Получили выбранный пользователем опрос и делайте с ним, что хотите.

Я бы переписал Ваш класс Polls. С точки зрения объектно-ориентированного программирования он не совсем правилен. Опрос - это один объект, вопрос - другой объект. Т.к. без опроса, вопросов быть не может, то внутри класса Polls я бы создал еще один внутренний класс Question. А в классе Polls создал бы коллекцию ArrayList<Question>, которая хранила бы все вопросы текущего опроса. А сами вопросы создавать/получать традиционно через методы set/get класса Polls.
Тогда во 2 Экран'е, через полученный Polls, можно получить коллекцию вопросов (для этого внутренний класс Question должен быть public, чтобы можно было приводить к типу элементу коллекции), а дальше все делать по аналогии с первым пунктом.




Цитата Сообщение от BigOblom Посмотреть сообщение
3 Экран - С результатами и кнопкой вернутся к списку опросов.
Про кнопку не понял.
Так это третий Activity или первый? Если третий, то по сути, все опять же аналогично предыдущим пунктам: получили intent, вытащили из него опросы/вопросы и делаете с ними что хотите. Если первый, то как уже говорил, через методы startActivityForResult() и onActivityResult().


Вот как-то так =)
 
Текущее время: 19:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru