• Марк Прайс - пойдет ли для новичка по c#?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Марк Прайс — пойдет ли для новичка по c#?

    Как показывает опыт, если у новичка действительно есть желание научиться, то он научится по любому учебинку.

    как лучше запоминать прочитанное

    https://qna.habr.com/q/767879

    как брать мотивацию и избавится от лени

    Съезжай от родителей.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы по нажатию на итем в ListView открывался диалог с нужной мне информацией?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Короче начни с того, что выкинь ListView. Забудь о нём, как будто его не существует. Он учит плохому, все эти ArrayAdapter'ы - зло, за ними не видно, как надо делать правильно.
    Возьми RecyclerView. Он покажется тебе сложнее, но он заставит тебя делать правильнее.
    Уйди от списка строк. Список строк это ничто, нет у строки "эспрессо" никакого состава. У тебя должна быть моделька, POJO, в котором хранятся твои данные для одного элемента списка. В твоём случае это одна строчка? Прекрасно, это будет класс с одним полем. Дальше ты в этот же класс добавишь ещё одно поле - айди(id) этого элемента. По айди ты должен уметь однозначно получать и имя, и список ингридиентов.
    Дальше, когда ты напишешь кастомный адаптер к RecyclerView, тебе нужно будет проставить onClickListener на вьюхи. нажатия этого листенера ты должен прокинуть в свой интерфейс
    interface CoffeeSelectionListener {
        void onCoffeeSelected(int coffeeId);
    }

    Этот интерфейс-листенер должен приходить в твой адаптер снаружи, таким образом ты абстрагируешься от конкретного действия. И это хорошо.
    Снаружи проставь листенер, и по айдишнику находи список ингридиентов. Дальше показывай его.
    Упаси бог тебя показывать в AlertDialog'e. Возьми DialogFragment, потрать время, но сделай нормально. Никто уже не пользуется диалогами.

    Когда ты это сделаешь у тебя получится чуть-чуть лучшего качества код. Дальше надо будет абстрагироваться ещё.
    Ответ написан
    2 комментария
  • Как сделать так, чтобы по нажатию на итем в ListView открывался диалог с нужной мне информацией?

    Beshere
    @Beshere
    Разработчик
    Ну, если по быстрому: в Java есть такая структура данных Map - хранит списки в виде ключ, значение.

    Например:
    (Американо)(Кофе, Вода)
    (Капучино)(Кофе, Молоко)

    Создайте такой словарик. Когда пользователь кликнет капучино, методом get("капучино") у этой мапы вытяните список ингредиентов.
    Ответ написан
    2 комментария