Этот вопрос относится к существующему вопросу , который я задал. Хотя я задам новый вопрос вместо того, чтобы отвечать на другой вопрос.
«У меня более одного обработчика в действии». Зачем? Если вам не нужен сложный метод handleMessage()
, используйте post()
(на Handler
или View
), чтобы разбить логику на отдельные Runnables
. Несколько Handlers
заставляет меня нервничать. - CommonsWare
Я новичок в Android. У меня такой вопрос - плохой дизайн - иметь несколько обработчиков в одном действии?
Вот эскиз моей текущей реализации.
У меня есть mapActivity
, который создает поток данных (сокет UDP, который прослушивает данные). Мой первый обработчик отвечает за отправку данных из потока данных в действие.
На карте у меня есть куча "динамических" маркеров, которые refreshed
часто. Некоторые из этих маркеров являются видеомаркерами, то есть, если пользователь нажимает на видеомаркер, я добавляю ViewView
, который расширяет android.opengl.GLSurfaceView
к моей активности на карте, и отображаю видео на этом новом видео. Я использую свой второй обработчик для отправки информации о маркере, который пользователь нажал на методе ItemizedOverlay
onTap(int index)
.
Пользователь может закрыть просмотр видео, нажав на просмотр видео. Я использую свой третий обработчик для этого.
Буду признателен, если люди скажут мне, что не так с этим подходом, и предложат лучшие способы его реализации.
Спасибо.