• RxJava в Android - все таки "мода" или "острая необходимость"?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Это удобно. Причин множество, читайте в интернетах.
    Справлялись, например, лоадерами, асинктасками, и прочими велосипедами.
    Асинхронно сходить в базу, например.
    Гугл не молчит: https://github.com/google/agera
    Во многих смартфонах уже 4-8 ядер, а юзать их без Rx довольно неудобно.
    Rx не призван решать описанные вами проблемы.
    Поверх есть всяческие RxBindings, используя их, можно легко уходить от императивного к реактивному.
    В iOS, в общем, есть RxSwift. Но вообще-то сравнивать платформы так некорректно.
    Ответ написан
    8 комментариев
  • Android. Оправдано ли использование фрагментов в RecyclerView?

    artemgapchenko
    @artemgapchenko
    Не нужно объединять три View в один фрагмент, так как у RecyclerView уже есть следующие методы для создания и привязки ViewHolder'a:
    public abstract void onBindViewHolder(VH holder, int position);

    и
    public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);

    Параметр viewType - это то, что вам нужно. Переопределяете метод

    public int getItemViewType(int position);

    так, чтобы для каждого элемента адаптера он возвращал нужный тип (видео/слайдер/изображение), в onCreateViewHolder() инфлейтите нужную вьюху в зависимости от типа вьюхи, и создаёте ViewHolder, а в onBindViewHolder() привязываете нужный элемент к вьюхолдеру, в зависимости от того, какой тип у элемента.
    Ответ написан
    6 комментариев
  • Единый элемент для вывода аудио/видео/фото?

    artemgapchenko
    @artemgapchenko
    Попробуйте ViewStub. В зависимости от того, какой файл пришёл с предыдущего экрана, будете инфлейтить разные макеты (для аудио/фото/видео) и работать с ними.
    Можно даже выделить три разных кастомных виджета, реализающих один общий интерфейс MediaFileHandler. В этом интерфейсе будет метод handleFile(File). При попадании на экран с выводом медиа вы инфлейтите соответствующий layout, содержащий ваш кастомный виджет, и вызываете у виджета handleFile().
    Ответ написан
    1 комментарий
  • Шаринг в одноклассники режет якоря (#something) - как обойти?

    Anisotropic
    @Anisotropic Автор вопроса
    Техподдержка естественно до сих пор не ответила.
    Решили сабж велосипедом = передачей и последующей заменой в скрипте get-параметра на подобии ?myredirect.
    То бишь шарим ссылку /megasite/?myredirect=/coolpage , а потом в скрипте меняем адрес на /megasite/#/coolpage
    Ответ написан
    Комментировать