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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Передать адаптер в Intent - Программирование Android

22.08.2013, 09:32. Просмотров 1555. Ответов 23
Метки нет (Все метки)

Как это сделать???
Создал свой адаптер (My_adapter) для списка цветных строк и пытаюсь избавится от всех мест где раньше использовал стандратный алерт-диалог.

Так передаются все значения (строки), но не адаптер.
Java
1
2
3
4
5
            Intent intent = new Intent(this, activity_TreeList.class);
            My_adapter atl_1 = new My_adapter(this);
            // передаем значения нужные ДО показа - заголовок, текст кнопок...
            intent.putExtra("adapter", atl_1); // адаптер с начинкой из строк
            startActivityForResult(intent, 1);
Как же тогда???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2013, 09:32     Передать адаптер в Intent
Посмотрите здесь:

Передать через intent VIEW - Программирование Android
Как можно через intent передать "VIEW", полученное вот таким способом: View view = (View)findViewById(R.id.layout_linear); Передавая...

Передать через Intent информацию об Item - Программирование Android
Выводит ошибку и приложение закрывается by Force Close ошибка по ходу в Intente package kg.aykut.speak_kyrgyz; import...

Передать ссылку на класс через Intent - Программирование Android
Возможно ли подобное? Есть класс, в котором храню больше 50 параметров разного типа (количество переменных все еще растет). Эти...

Как передать intent данные в Service? - Программирование Android
Здравствуйте! как передать intent данные в класс с расширением Service? Стандартным способом кажется не получится передать через putextra...

Как передать ссылку через Intent - Программирование Android
Как можно в такой класс package app.kray.anddev; import java.io.IOException; import java.io.InputStream; import...

Передать через intent ArrayList объектов своего класса - Программирование Android
У меня есть ArrayList из обьектов моего класса. Мне нужно передать это через intent в другое активити. Значит мой класс должен...

Пытаюсь передать данные через Intent, но выходит ошибка - Программирование Android
Пытаюсь передать данные через Intent, но выходит ошибка, когда пытаюсь передать число Вот, что выводит в Логе 03-02...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
24.08.2013, 13:48  [ТС]     Передать адаптер в Intent #21
Цитата Сообщение от V0v1k Посмотреть сообщение
для использования разных лаяутов для айтемов в одном списке есть свой механизм с использование методов getViewTypeCount и getItemViewType
Возможно позднее переделаю, но не думаю что это СИЛЬНО ускорит первую загрузку и хоть как-нибудь повлияет на повторное использоваие адаптера... 5-10 секунд на первую загрузку в 100-300 записей один раз перед дальнейшим частым использованием - это не много.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 14:05     Передать адаптер в Intent #22
у вас не должно при первом выводе загружать все айтемы, должны загружаться столько, сколько помещается на экране(10 например), а потом ListView их переиспользует
Цитата Сообщение от V0v1k Посмотреть сообщение
в общем, списки всегда грузятся быстро неважно сколько айтемов, хоть миллион, и на создавать миллион view вам не хватит памяти и если у вас там где то большие задержки, то вы что-то делаете неправильно.
Добавлено через 11 минут
вы в адаптере сохранили например такие view
R.layout.list_item_1
R.layout.list_item_2
R.layout.list_item_2
R.layout.list_item_2
R.layout.list_item_1
и дальше хотите использовать для новых данных, а что если новым данным нужно будет
R.layout.list_item_2
R.layout.list_item_1
R.layout.list_item_1
R.layout.list_item_1
R.layout.list_item_2
?

Добавлено через 2 минуты
если надумаете все делать по правилам, не забудьте еще про такую практику как ViewHolder Pattern
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
24.08.2013, 14:13  [ТС]     Передать адаптер в Intent #23
Вобще-то у меня все по правилам! Просто сложная математика на отрисовку одной/каждой ячейки. 2-3 страницы кода на каждую ячейку. Оптимизировать надо именно отрисовку!
Попробовал использовать getViewTypeCount и getItemViewType - прирост не заметен. Может и есть, но милисекунды. ViewHolder я использовал с самого начала. Но буферизация реально ускоряет в сотни раз...

Добавлено через 1 минуту
Цитата Сообщение от V0v1k Посмотреть сообщение
и дальше хотите использовать для новых данных, а что если новым данным нужно будет
Либо обнулю буферизацию (отдельная простая процедура) и подожду еще один раз 10 секунд. Либо вставлю новые ячейки и список ОДИН раз задержится ТОЛЬКО на этих записях, т.к. только они не будут буферизированы...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2013, 14:41     Передать адаптер в Intent
Еще ссылки по теме:

Как передать через intent нажатие кнопки в другом активити - Программирование Android
В первом активити у нас есть две кнопки 1 и 2. Во втором активити ещё две кнопки 3 и 4. Вопрос в том, как сделать так, чтоб при нажатии...

Получить JSON и передать все его параметры его в Intent. Использован автофильтр - Программирование Android
Всем привет. Я тут запутался, помогите разобраться. Стоит задача выполнить такой функционал: получить данные JSON, один из параметров...

Intent - Программирование Android
Доброе утро. Помогите с одним вопросом. Как из модального окна, когда нажимаешь на кнопку "Ок", сделать так чтобы при переходе на...

Intent история переходов - Программирование Android
есть две Activity - ActivityMain и glmenu В glmenu нажимаю на кнопку и интентом перекидываюсь на ActivityMain а далее для нормальной...

Intent внутри Layout - Программирование Android
Хочу вывести браузер с кнопки не на весь экран, а в конкретный слой примерно то что надо нашел по этой ссылке ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2013, 14:41     Передать адаптер в Intent #24
Цитата Сообщение от Tester64 Посмотреть сообщение
Вобще-то у меня все по правилам!
нет.
Цитата Сообщение от Tester64 Посмотреть сообщение
2-3 страницы кода на каждую ячейку
у вас 2-3 страницы вызовов setTex/setBackground?
с ViewHolder даже 2-3 страницы вызовов setTex/setBackground будут обрабатываться очень быстро, если по правильному все делать
если у вас столько полей много, то значит айтем большой, значит их на экране мало, значит все должно быстро грузится если делать все правильно
Цитата Сообщение от Tester64 Посмотреть сообщение
Попробовал использовать getViewTypeCount и getItemViewType - прирост не заметен. Может и есть, но милисекунды. ViewHolder я использовал с самого начала.
естественно, в вашем случае они ничего не дают, так как у вас все сделано не по правилам андроида.

Добавлено через 7 минут
Цитата Сообщение от Tester64 Посмотреть сообщение
Но буферизация реально ускоряет в сотни раз...
ListView и так буферизирует все что ему нужно, вы просто не умеете это использовать.

Добавлено через 4 минуты
Цитата Сообщение от Tester64 Посмотреть сообщение
2-3 страницы кода на каждую ячейку
ну так для новых данных вы все рано проганяете эти 2-3 страницы! а view и так буферизируются без вашего вмешательства и не все 300, а ровно столько, сколько нужно, вы явно делаете что-то не так.

Добавлено через 6 минут
Вывод:
ListView сам буферизирует View в том количестве которое ему нужно, ViewHolder ускоряет заполнение этих View, а задержки вызваны вашим же излишним кодом который создает 300 view сразу.
Yandex
Объявления
24.08.2013, 14:41     Передать адаптер в Intent
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru