Урок 9. Три cпособа обработки нажатия кнопки в мобильном приложении (Android Studio)

Поділитися
Вставка
  • Опубліковано 28 кві 2015
  • Подпишись на Продвинутые курсы по созданию мобильных приложений и игр для андроид на языках Java и Kotlin: www.fandroid.info/category/pr...
    В этом уроке вы узнаете, как в андроид повесить слушатель (OnClickListener) на кнопку (Buttons). Как заставить кнопку реагировать на нажатие, и как обрабатывать нажатие кнопки на экране android устройства. Также вы познакомитесь с тремя разными способами обработки нажатия кнопки.
    Весь плейлист: • Уроки 1-10 по разработ...
    Ссылки в видео:
    Правила присвоения имен в java: www.fandroid.info/pravila-pris...
    События и слушатели в Java: www.fandroid.info/sobytiya-i-s...
    Интерфейсы в java: www.fandroid.info/interfejsy/
    Группа взаимопомощи Вконтакте для начинающих ANDROID разработчиков и программистов: www.fandroid.info/gruppa-vzaim...
    Скачать видеоуроки: www.fandroid.info/skachat-vide...
    Поддержите наш проект: www.fandroid.info/spasibo-za-v...
    Текстовая версия урока (отличается от видеоверсии) startandroid.ru/ru/uroki/vse-u...
    Обсуждение урока на форуме forum.startandroid.ru/viewtopi...
    Обсуждение урока на форуме:
    #android #AndroidStudio #startandroid
  • Наука та технологія

КОМЕНТАРІ • 193

  • @brigadir5830
    @brigadir5830 Рік тому +2

    Смотрю уроки в 2022 году спасибо за отличные уроки всего вам хорошего ♥️♥️♥️

  • @user-md8eh9nn7k
    @user-md8eh9nn7k 5 років тому +2

    Я как ребёнок радовался,что у меня выводился скрытый текст )0))000 Спасибо,с меня лайк и подписка.

  • @nekokittycat4004
    @nekokittycat4004 8 років тому +37

    спасибо за уроки, все очень доходчиво хоть и новое для меня, особенно радуют объяснения каждого элемента кода-это очень важно для начинающих)
    Виталий, вы большой молодец, огромная благодарность за качественные уроки! Успехов!!!

  • @Suncircle2011
    @Suncircle2011 8 років тому +36

    Наконец-то нашёл понятный гайд, ей богу, это ведь так просто было объяснить, в инете куча непонятных статей написано, особенно на хабре. Спасибочкинс, лайк.

    • @Smile23914
      @Smile23914 7 років тому +1

      Алексей Шамшур не согласен. Хабр и stackoverflow - являются самыми информативным источниками данных для программиста.

    • @radiotory
      @radiotory 4 роки тому

      @@acd2377 похоже, что там специально всё запутывают

  • @lighthouse_freedom
    @lighthouse_freedom 7 років тому

    Гениально! Спасибо! Будем двигаться дальше! Огромные труды вы вложили, огромное спасибо!

  • @Fabregas200788
    @Fabregas200788 5 років тому +13

    привет
    я из 2019, прокастовывать объекты при использовании метода findViewById уже не нужно
    поэтому (TextView) и (Button) можно не писать
    также для новичков будет уместно записать "Button button1, button 2, button 3" одной строкой вместо трёх, в будущем пригодится

    • @DRUXA1000
      @DRUXA1000 4 роки тому +1

      А как прокастовывать объекты?

  • @user-zf6nn9lm9p
    @user-zf6nn9lm9p 8 років тому

    Спасибо, Виталий, большой респект Вам за Ваши уроки!

  • @sovetkazin
    @sovetkazin 9 років тому

    Спасибо большое! Уже второй день прохожу уроки, начал уже понимать что куда. Благодарю.

  • @michaelpalenko64
    @michaelpalenko64 6 років тому

    Виталий! Вы лучший! Спасибо вам огромное за детальное объяснения всего! Успехов!

  • @kameta_ya
    @kameta_ya 6 років тому

    Spasibo vam bolshoe za vashu rabotu!!!! Kak raz pishu projekt,ochen pomogaet. Obyasneniya ochen ponyatnye, skorost obyasneniya toge ustraivaet-dostupno dlya novichka! Prosto super, 10 iz 10!

  • @spok8755
    @spok8755 8 років тому

    Подключил свой телефон после "танца с бубном" к AndroidStudio, и - АЛЛИЛУ́ЙЯ!!!!!!!!! автору ))))))
    Красотища!!!!!!!!!

  • @folkestetic
    @folkestetic 7 років тому

    Лучшие уроки!!!

  • @user-yf8ns8ox5k
    @user-yf8ns8ox5k 6 років тому

    Столько много хороших видео на русском! Спасибо вам большое!

  • @NEOSPORYMIY
    @NEOSPORYMIY 7 років тому +1

    Спасибо за ваш труд!!!

  • @DmitrySidelnikov
    @DmitrySidelnikov 7 років тому

    Замечательные уроки.

  • @crashoverride9681
    @crashoverride9681 8 років тому

    Спасибо!! Отличные уроки!

  • @user-hf5ry2ni8r
    @user-hf5ry2ni8r 7 років тому

    Отличные уроки !

  • @antd9478
    @antd9478 9 років тому

    Молодец, продолжай в том же духе!

  • @illluminati
    @illluminati 9 років тому +3

    android:Спасибо, очень приятные и понятные уроки;)

  • @denver313
    @denver313 9 років тому

    Спасибо за Урок)

  • @YettyZzZone
    @YettyZzZone 9 років тому +6

    При третьем способе гораздо удобней в XML файле навести курсор на название обработчика, нажать комбинацию Alt+Enter и добавить его в MainActivity, чтобы не вводить все вручную.

  • @aleksei7235
    @aleksei7235 6 років тому

    Крутой урок!(лайк)

  • @user-kh4cw6tq6h
    @user-kh4cw6tq6h 8 місяців тому +1

    Лучший просто!

  • @Vampir-qd5ct
    @Vampir-qd5ct 7 років тому +2

    Как сделать отображение всех элементов во вкладке Widgets? Очень много чего не хватает и в других. AS v.2.2.3

  • @karambinos
    @karambinos 9 років тому +15

    Столкнулся с проблемкой и нашел решение, опубликую тут, на всякий случай. Если вместо русских букв показываются кракозябры, то смените кодировку файла MainActiviti.java с windows-1251 на UTF-8 (внизу окна программы справа)

  • @KrytoiWtrix
    @KrytoiWtrix 8 років тому +1

    А как это всё прописывать в версии 1.5.1 ??? Там текст в MainActivity немного не такой. В итоге у меня не получилось

  • @almazesenov2934
    @almazesenov2934 8 років тому

    хороший человек

  • @like_toy_soldier
    @like_toy_soldier 2 роки тому +1

    Виталий, а как с помощью второго метода добавить ещё кнопки? Или он расчитан на одну кнопку для всего mainactivity?

  • @user-yv6zy7jj2p
    @user-yv6zy7jj2p 5 років тому

    Вот вот. Все четко и понятно. И всего за 15 минут)

  • @andreimelnichuk1312
    @andreimelnichuk1312 8 років тому

    у меня была проблема не было при описании второго метода в выподающем меню пункта Implement methods , вы его сделайте через нажатие слудующих клавиш CTRL + I

  • @V1nTofficial
    @V1nTofficial 8 років тому

    Ребят подскажите, почему у меня в MainActivity не отображаются все элементы которые я накидал в activity_main ???

  • @user-rv9ss5ce7z
    @user-rv9ss5ce7z 5 років тому

    Какой из этих способов самый ресурсоэффективный и быстрый с точки зрения выполнения в рантайме?

  • @Bazingachannel
    @Bazingachannel 9 років тому

    А каким образом начал меняться текс вверху(Large text)?
    Когда я сделал для одной кнопки, при нажатии у меня менялся текст в том же окне где сама кнопка.

  • @user-wt1tp2ff3h
    @user-wt1tp2ff3h 4 роки тому

    Почему мы в метод public void onClick(View view) {} передаем параметр и в теле метода его не используем?

  • @vladimirsvolode2026
    @vladimirsvolode2026 6 років тому

    имеет ли смысл знать второй и третий способы например если 1 по душе больше и кажется проще?
    или второй тоже применяться будет в редких случаях?
    не считая того конечно, что пригодится при обучении, так как придется смотреть много видео где по разному люди работают

  • @user-gp9dx7sd2s
    @user-gp9dx7sd2s 7 років тому

    Подскажите, кто знает, когда обращаешься к свойствам класса, нужно ли обращаться через this.textView? Как принято в джава?

  • @NESkimos
    @NESkimos 8 років тому

    хотелось бы узнать, с какого плейлиста лучше начинать знакомиться с разработкой? есть в еклипс и есть в андроид студио. pdf вариант, как я понял, по еклипс сделан. Все же лучше сначала просмотреть эклипс или параллельно одинаковые темы из обоих плейлистов смотреть?

  • @user-fc9ks6fo4n
    @user-fc9ks6fo4n 8 років тому

    а как вы сделали "нажата кнопка 2", где текст для кнопки 2 прописан? у меня только 1 и 3 работают.

  • @Yazhevika
    @Yazhevika 7 років тому +1

    Я правильно понимаю, что вторым способом можно обрабатывать только одну кнопку?

  • @xd_play_dynast_io2062
    @xd_play_dynast_io2062 3 роки тому

    спасибо)

  • @zhe1ka353
    @zhe1ka353 8 років тому

    Всем привет! начинаю только изучение Андроид, да и в целом самой Явы, и стыкнулся с такой проблемой.. создавал "TextView" и присвоил id.. потом удалил этот "текст", но в автодополнении название этой айдишки висит.. интересует, это баг такой, или все же где-то это значение сохранено ещё.. примечательно, что TextView удалял из области кнопкой delete.. могло ли это послужить такому поведению? Спасибо.

  • @dybbor
    @dybbor 7 років тому

    Можете подсказать, почему при компиляции программы на виртуальное устройство или планшет происходит ошибка и сворачивается приложение, а в самом android studio пишет "Performing full build and install: On devices with API level below 21, a full build is required if the app is not running" ?

  • @slawiktube
    @slawiktube 8 років тому +2

    Уроки очень хорошие и доходчивые, Виталию респект! Во многом правда приходится поработать и самому, но это идёт только на пользу для изучения. Надеюсь, что в итоге не сдамся и освою всё, чему учит Виталий.
    Второй раз делаю в точности всё что говорится в этом уроке. Не получается запустить приложение на эмуляторе, т.к. оно сразу закрывается с ошибкой.
    Название класса ActionBarActivity почему-то среда зачёркивает и предлагает заменить на AppCompatActivity. Оно же объявляется сразу по умолчанию... Что я делаю не так?

  • @allmarr-tv4ks
    @allmarr-tv4ks 3 роки тому

    Lagre Text находиться: в вашем ....xml , там где кнопка Design(
    дизайн) в этом столбищще ( у меня справа) найдите textAppearance и нажмите на мал.треугольничек-- и вот там будет и Lagre,и Medium и т.д

  • @yuriizero9169
    @yuriizero9169 7 років тому

    Лучший

  • @allianzallianzgood
    @allianzallianzgood 6 років тому

    Вопрос. Вот запускаю я эмулятор, проверяю свое приложение. Далее делаю изменения в коде приложения, но в эмуляторе изменения не происходят. Приходиться перезапускать эмулятор. Тогда изменения вступают в силу. А есть другой вариант? Пробовал закрывать свое приложение, потом снова открывать, но не помогает. Пока не перезапущу, ничего не меняется.

  • @user-sh5vz9fg8x
    @user-sh5vz9fg8x 6 років тому

    Помогите, как создать 4 кнопки, при нажати меняютя текста кнопок???

  • @AkagamiShankus
    @AkagamiShankus 8 років тому

    Как сделать, чтобы при нажатии 1 кнопки повторно выводился другой текст?

  • @user-lm3qc7fw4b
    @user-lm3qc7fw4b 8 років тому

    Доброго времени суток!
    У меня возникли затруднения при практическом разборе видеоурока, и я хотел бы задать несколько вопросов.
    1)В вашем уроке и данной версии Android Studio используется
    "public class MainActivity extends ActionBarActivity"
    но в новой версии Android Studio используется
    public class MainActivity extends AppCompatActivity
    Может ли это повлиять на построение 2-ух последних методов для обработки нажатия на кнопку ?
    2) Если ответ на первый вопрос отрицательный, то не могли бы вы подсказать почему на эмуляторе при нажатии 2 и 3 кнопки приложение закрывается с ошибкой Unfortunatly, My app has stopped,
    и это при условии что код написан верно и перепроверена каждая буква скобка и точка с запятой ))
    3) Являются ли эти видеоуроки современными для новой версии Android Studio, если нет, то что бы вы могли бы посоветовать для начального изучения в дополнение к этим урокам.
    Спасибо за проделанную работу)) У вас отлично получается преподавать!!!

  • @vedgray9773
    @vedgray9773 7 років тому +1

    Почему нужно переменную button явно преобразовывать к виду Button если она и так этого вида?

  • @user-hj8br7wu4w
    @user-hj8br7wu4w 8 років тому

    дальше будет обработка по нажатию, а не по отпусканию? по моему touchLister

  • @romanshubenko6753
    @romanshubenko6753 6 років тому

    10/10.

  • @ilyanazarov3561
    @ilyanazarov3561 8 років тому

    Здравствуйте, а как перевернуть кнопки/текст ?

  • @fantazmorg
    @fantazmorg 9 років тому

    Есть еще и 4-й способ обработки нажатия кнопки, он чем-то похож на первый и второй.
    Можно сделать анонимный внутренний класс, реализующий интерфейс OnClickListener:
    В теле класса Activity -
    public OnclickListener buttonClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
    myText.setText("нажата кнопка 4");
    }
    };
    а назначать кнопке или кнопкам этот обработчик так:
    button4.setOnClickListener(buttonClickListener);

  • @user-yu2dp8rs7n
    @user-yu2dp8rs7n 6 років тому

    У меня подчеркивается R (R.layout.main), может кто знает в чем дело? Спасибо, если поможете.

  • @netmannetman5396
    @netmannetman5396 9 років тому

    Все здорово. Но можно добавить обработку на одну кнопку повторным нажатием это часто используется отключение и включение или спикерфон и так далее.

  • @user-pe4rq2ch9g
    @user-pe4rq2ch9g 7 років тому

    Скажите какие данные со второй кнопки передаются в функцию onClick, я к тому что тут всего одна кнопка, а если их больше, то нужно будет как то инициализировать какая именно кнопка была нажата. Что принимает View view? И как это посмотреть? Можно ли получить данные с кнопки, ее ID, текст или какие нибудь другие атрибуты прописанные у кнопки?

    • @user-pe4rq2ch9g
      @user-pe4rq2ch9g 7 років тому

      ха, в следующем уроке судя по названию реализация)

  • @diablo1ru
    @diablo1ru 8 років тому

    При работе в MainActivity случайно что-то нажал, и стали отображаться примечания (// текст текст текст), которых очень много, и работу с кодом они сильно затрудняют. Подскажите, как их скрыть обратно?

    • @start_android
      @start_android  8 років тому

      скрин, пожалуйста

    • @diablo1ru
      @diablo1ru 8 років тому

      проблема решилась сама-собой. Толи при создании нового проекта большие примечания скрываются, или именно в том проекте были какие-то большие примечания, в общем работаю нормально.

  • @user-ke4hg7gw4x
    @user-ke4hg7gw4x 8 років тому +3

    Спасибо за ваш канал. Уроки хорошо организованы и интересно преподносятся. До этого урока все было наглядно и понятно. Да и этот урок в принципе не тяжело усвоить, но вот зашел я на ссылку по доп. материалу "События и слушатели" и тут стало все путаться. Написано все сугубо техническим языком, вот пример:
    После генерации объект-событие пересылается для обработки зарегистрированному в источнике блоку прослушивания как параметр его методов - обработчиков событий.
    Сказать честно, не понятно что тут написано. И как мне кажется для начинающего разработчика ПО на Андроид это не совсем легко усваивать.
    Хотел бы попросить Вас, если это конечно возможно, преподносить материал не на техническом языке а на более простом и понятном, желательно на примерах.
    И еще, есть ли разница между первым способом обработки нажатия кнопки и вторым? Если есть то в чем заключается отличие?

    • @start_android
      @start_android  8 років тому

      +Альберт Магомедов Хорошо, учту ваши пожелания. В свою очередь рекомендую больше читать тех. литературу, для понимания терминологии.
      Большой разницы нет, можно использовать более удобный для вас на данном этапе.

    • @user-ke4hg7gw4x
      @user-ke4hg7gw4x 8 років тому

      +Start Android
      Спасибо за вашу отзывчивость на комментарии. Дошел до 11 урока и понял, что для того что бы освоить андроид реально надо больше практиковаться и не останавливаться только на том что показано в уроках. И в самом деле весь запутанный клубок, как мне казалось, начал распутываться)). Просто я раньше в основном увлекался программированием на Delphi, поэтому представление немного другое. Спасибо за уроки и ваш труд.

    • @user-ke4hg7gw4x
      @user-ke4hg7gw4x 8 років тому

      Михаил Фленов "Библия Delphi" это для начала.
      Delphi. Программирование для Windows, OS X, iOS и Android
      Всеволод Леонов - Обучение мобильной разработке на Delphi (2015)
      Ревич Ю. - Нестандартные приемы программирования на Delphi
      Фленов "Программирование глазами хакера"

    • @user-ke4hg7gw4x
      @user-ke4hg7gw4x 8 років тому

      Delphi. Программирование для Windows, OS X, iOS и Android
      автор Д. Л. Осипов

  • @Diomitriy
    @Diomitriy 5 років тому

    А где найти или чем заменить LargeText в новых версиях Андроид?

    • @Diomitriy
      @Diomitriy 5 років тому

      Просто сделал шрифт обычного текстового поля крупнее.

  • @alexsas5086
    @alexsas5086 9 років тому

    Не подскажите в чем проблема, после обновления студии, при загрузке студии пишет предупреждение
    Warning:The project encoding (windows-1251) does not match the encoding specified in the Gradle build files (UTF-8).
    This can lead to serious bugs.
    Как с этим бороться ранее такого не было???

    • @alexsas5086
      @alexsas5086 9 років тому

      Alex Sas Поменял кодировку на UTF-8 начал писать кириллицей, как и положено.

  • @andrey-Green
    @andrey-Green 8 років тому

    Можно прописать не в xml коде, а в Properties найти тот же OnClick и написать название метода там.

  • @user-lz3xo4kx4r
    @user-lz3xo4kx4r 4 роки тому

    View.OnClickListener onClick_button4 = new View.OnclickListener() {
    textView.setText("Нажата кнопка 4");
    }
    button4.setOnClickListener(onClick_button4);
    чем такой метод плох ?
    я так делаю для удобства навигации в студии

  • @dastiw1
    @dastiw1 6 років тому

    Реклама слтшком часто показывается. А так норм. Для тех кто знаком с javascript почти все знакомо

  • @denisbushaev
    @denisbushaev 9 років тому +4

    Вам бы научится слепому методу набора текста, заодно и скорость подкачаете)

    • @start_android
      @start_android  9 років тому +12

      Денис Бушаев AS подтормаживает во время записи экрана при вводе. Слепой метод мне не поможет здесь.

    • @JohnDoe-fv5cu
      @JohnDoe-fv5cu 8 років тому

      +Start Android у меня она и без записи экрана подтормаживает) Хотя комп достаточно шустрый

  • @driversti2
    @driversti2 9 років тому

    Ребята, а кто подскажет, в каких случаях какой способ лучше использовать?

  • @user-ux1ps3do4z
    @user-ux1ps3do4z 9 років тому +1

    Я так понял что в способе 3 можно обработать нажатие всех 3-х кнопок. Сначала назначаем в xml файле всем кнопкам один метод onClick а потом в самом методе через Swich-Case прописывать действия ориентируясь по R.ib.button?
    Я все правильно понял?

    • @pavellescenko9817
      @pavellescenko9817 9 років тому

      Павел Голубев Да так тоже можно

  • @Stas1983ful
    @Stas1983ful 4 роки тому

    Извиняюсь за тупой вопрос, а почему 3м способом мы никак не обозначаем метод оnClick в методе onCreate??

    • @MrRakushin
      @MrRakushin 3 роки тому

      Это разные методы. onCreate метод который запускается при запуске приложения, у вас методов в программе будет бесчисленное множество, какое им дело до того что происходит при запуске приложения? Т.е. по факту они никак не связаны, поэтому и обозначать их там никак не надо.

  • @viacheslavzozulinskiy991
    @viacheslavzozulinskiy991 8 років тому

    Подскажите в самом начале урока когда делаем описание объектов пропала команда TextView, как ее вернуть?

    • @start_android
      @start_android  8 років тому

      Написать снова)

    • @viacheslavzozulinskiy991
      @viacheslavzozulinskiy991 8 років тому

      Не правильно понял, она вообще исчезла из программы. Программа команду TextView не воспринимает. Пишешь Text появляется окошко с доступными командами и TextView там нет, а раньше была. Вот как теперь ее вернуть?

  • @BIGDADYChannel
    @BIGDADYChannel 9 років тому

    setText и textView подчеркнуто крассным

  • @beprotishen
    @beprotishen 9 років тому +1

    мне удобнее вводить в
    SparseArray mButtons = new SparseArray();
    и добавлять как пример
    private void setButton(int i, int resources) {
    mButtons.append(i, (Button) findViewById(resources));
    }
    setButton(0, R.id.button1);
    setButton(1, R.id.button2);
    setButton(2, R.id.button3);
    mButtons.get(0).setOnClickListner(this);
    ну дальше как по твоему примеру
    Удачи
    Кстате видел парни на неплохо вещают про android /user/elegionru/videos на ютубе

  • @user-fm8nu6ex4g
    @user-fm8nu6ex4g 7 років тому

    Спасибо за видео! А разве третий метод не надо где-то вызвать? Мы же его только создали, как я понимаю. Да и Андроид Студия о том же говорит)) Где лучше вызывать этот метод? Внутрь передаем все тот же объект textview, да?

  • @Diomitriy
    @Diomitriy 5 років тому +1

    В Delphi это реализуется на столько просто, что нет необходимости делать отдельный урок. Все делается в пару кликов. Почему в java так сложно?

  • @BASSOPERATORS
    @BASSOPERATORS 8 років тому

    интересно а как первым методом описать остальные кнопки? что бы менялся текст при нажатии ?
    точно так же интересно как реализовать второй способ на все кнопки?

    • @marselg684
      @marselg684 8 років тому +2

      +Роман Романов в первом методе нужно просто создавать экземпляр класса слушателя, для каждой кнопки отдельно. Во втором методе, проверяешь имя аргумента View. Он будет соответствовать id кнопки. С помощью ветвления if, выполнять разные команды ("нажата кнопка 1", "нажата кнопка 2"...и т.д.). Второй способ не соответствует принципам ООП. Я бы не стал его использовать. Третий способ вообще без комментариев

  • @nikolahirt6484
    @nikolahirt6484 9 років тому +3

    public class MainActivity extends( (ActionBarActivity) - перечеркнуто). Как включить ?

    • @Maxwork82
      @Maxwork82 9 років тому +1

      Присоединяюсь, как сделать незачеркнутой.
      "implements View.OnCLickListener" не дает выбрать того, что указано в уроке

    • @EvgenOrlovsky
      @EvgenOrlovsky 9 років тому

      Nikola Hirt перечеркнуто не значит отключено - просто этот элемент был объявлен ограниченной поддержки и вскоре может быть исключен из библиотеки (что врядли). Аналогично класс Date в Java - уже давно перечеркнут, но его используют на полную катушку, и исключать его явно не будут.

    • @Maxwork82
      @Maxwork82 9 років тому

      Evgen Orlovsky спасибо.

  • @aleksanderr4673
    @aleksanderr4673 3 роки тому

    второй способ не работает, как выяснилось, ActionBarActivity устарел. Можете подсказать где почитать, какие теперь новые способы

    • @MrRakushin
      @MrRakushin 3 роки тому +1

      Работает только что все проверил. Вчера установил студию проект на 30API android 11 (новее не бывает). Сделал как показано в уроке все отрабатывает. Точнее возможно вы правы и сейчас по умолчанию там не ActionBarActivity а AppCompatActivity но это не мешает там написать такую же конструкцию с implements View.OnClickListener

  • @ohayakundagu
    @ohayakundagu 7 років тому

    почему все объекты (расположенные на эскизе согласно урока) съехали в верхний левый угол? Или ConstraintActivity не лучший выбор для размещения?

    • @start_android
      @start_android  7 років тому +1

      +Сергей Захаров для начала лучше использовать RelativeLayout или LinearLayout. По Constraint смотрите отдельное видео, ищите здесь на канале.

    • @NorthPingvinone
      @NorthPingvinone 7 років тому

      Спасибо, наконец-то получилось

  • @evgeniygul1131
    @evgeniygul1131 7 років тому +1

    У меня нет TextFields Large Text - использовал Plain Text, только id объекта еще надо было переименовать (textView)

  • @evgenii.zaikin
    @evgenii.zaikin 8 років тому

    Добрый день! Спасибо за уроки! Очень доходчиво для новичков)
    Один вопрос: почему у меня вместо русских букв выводятся знаки вопроса? Когда английские буквы, то всё нормально.

    • @start_android
      @start_android  8 років тому

      +Евгений Заикин кодировку попробуйте переключить внизу справа, но лучше использовать строковые ресурсы ua-cam.com/video/RqCKvZBek90/v-deo.html

  • @str0esku
    @str0esku 4 роки тому +1

    А еще такой вопрос, он конечно не по теме урока, но все же, буду благодарен если ответите. Я никогда не изучал Java, все что у меня есть в арсенале - это основы SQL, можно ли учить Java именно в процессе обучения Android разработки, или все таки сначала нужно изучить ее до какого-то уровня вне контекста Android Studio?
    Или как вообще, что, куда, ааааааа, сложно все😂
    Спасибо за ответ)
    P.S. очень нравится что вы делаете!

    • @start_android
      @start_android  4 роки тому +1

      Можно изучать параллельно

  • @TheClentv
    @TheClentv 7 років тому +3

    После этого урока я понял что ничего непонятно пока я не изучу хоть немного разметку Java.

  • @roman_babenko
    @roman_babenko 9 років тому

    Подскажите,почему у меня очень медленно думает AS и сильно подтормаживает эмулятор?

    • @start_android
      @start_android  9 років тому

      Roman Babenko возможно, слабое железо, используйте Eclipse и Genymotion

    • @start_android
      @start_android  9 років тому

      Roman Babenko ua-cam.com/video/BgAgNBI498Y/v-deo.html

    • @roman_babenko
      @roman_babenko 9 років тому

      Спасибо

  • @Hrachik333
    @Hrachik333 8 років тому

    Я хотел узнать возможно ли программировать в android studio на языке c#?

    • @SergShapoval359
      @SergShapoval359 8 років тому

      +home game pc ксамарин используй

  • @DmytroZaitsev
    @DmytroZaitsev 9 років тому

    Первый и второй способ - это ровно одно и то же. С тем же успехом можно было еще сделать OnClickListener полем активити и установить его слушателем, так что это не считается. "Честных" способов из коробки два.
    Для продвинутых: установку слушателя на кнопки можно с помощью аннотации @OnClick(R.id.my_view_id) из библиотеки ButterKnife.

  • @zodchiy3d
    @zodchiy3d 9 років тому

    Появилась странная проблема в Android Studio: не хочет переключаться с русского языка на английский. В остальных приложениях все ОК. Только в студии. Не подскажете в чем дело и как исправить?

    • @user-oy7en7jf4l
      @user-oy7en7jf4l 8 років тому

      +zodchiy такая же фигня, помогает перезагрузка студии только. Я думаю, это какая-то багушка в самой платформе IntelliJ IDEA, так как у меня так же себя ведет и PhpStorm. Возможно стоит написать разработчикам.

  • @EvgenOrlovsky
    @EvgenOrlovsky 9 років тому

    по третьему методу я бы сказал что это скорее стырили из JavaFX - там аналогично в FXML файле указывается обработчик (правда он в контроллере документа должен быть).

  • @antonsergeevblog1621
    @antonsergeevblog1621 4 роки тому

    А можно сначала сделать в Sketchware,а потом код из Sketchware в Android Studio засунуть?)

  • @kodimdp
    @kodimdp 9 років тому +1

    1. Например, запись import android.widget.Textview; значит импорт класса Textview из системной библиотеки ОС Android. Вопрос, где можно посмотреть полный перечень доступных классов для использования из этой системной библиотеки OC (ссылку если не затруднит). Так понимаю для разных версий Android, количество классов которые можно использовать будет отличаться…
    2. Запись Button button1;, понятно, что это объявление в коде кнопки которую мы создали. Но суть не совсем понятна. Когда мы объявляли, например, переменную int i; Тут ясно переменная i относится к целочисленному типу данных. Исходя из аналогии можно сказать, что button1 в вышеуказанной записи, относится к классу Button, но всё же, вопрос: чем является button1? Экземпляром класса Button?

    • @start_android
      @start_android  9 років тому +1

      Дмитрий Кошель 1) developer.android.com/intl/ru/reference/android/widget/TextView.html
      2) да

    • @kodimdp
      @kodimdp 9 років тому

      Start Android Спасибо за ответ!

  • @user-dg3ut2mc6i
    @user-dg3ut2mc6i 7 років тому

    Третий способ самый классный, если с начало написать паблик воид б1 (виев виев) то потом при правке в хтмль онклик сам предлагает заполнить "б1"

  • @Snovasvami
    @Snovasvami 9 років тому +4

    Приложение запускается на эмуляторе или устройстве, но по нажатию на кнопку выдает ошибку и закрывает приложение.

    • @user-bn4br9yx8v
      @user-bn4br9yx8v 7 років тому

      Нашел решение этого? сам с этим сейчас висну

    • @folkestetic
      @folkestetic 7 років тому

      У меня было тоже самое в третьем способе. Ошиблась при добавлении класса в мэин_активити.java всего-то в регистре буквы одной...)))

    • @user-bn4br9yx8v
      @user-bn4br9yx8v 7 років тому

      у меня не выдает ошибок никаких. Просто вылетает приложение(будильник) при нажатии кнопки запустить. я уже с ума сошел, но не нашел решения проблемы

    • @youtubeyoutube3668
      @youtubeyoutube3668 6 років тому +1

      Ты наверное описание и инициализацию вьюшек делаешь вне фичи onCreate. Инициализация обязательно должна быть внутри

    • @dw_erd6230
      @dw_erd6230 4 роки тому

      @@user-bn4br9yx8v try catch используй

  • @user-vw9ld7dk2e
    @user-vw9ld7dk2e 8 років тому

    помогите) Дайте ссылку на инфу что это? Что за особенность Java? Знаю только c# и так такого нет)))
    OnClickListener oclBtnOk = new OnClickListener() {
    public void onClick(View v) {
    // Меняем текст в TextView (tvOut)
    tvOut.setText("Нажата кнопка ОК");
    }
    }; Почему интерфейс как объект? И при создание сразу внутри метод onClick? После С языка не могу понять.
    btnOk.setOnClickListener(oclBtnOk);
    Метод принимает объект интерфейса???

    • @user-vw9ld7dk2e
      @user-vw9ld7dk2e 8 років тому +1

      Прочитав про анонимные классы все понял)

  • @stepangarazh8894
    @stepangarazh8894 4 роки тому +1

    у меня нет Large Text

  • @tolikvylka2086
    @tolikvylka2086 8 років тому

    android studio обновляется и иногда надо по 2-3 раза смотреть

  • @j82cerberS
    @j82cerberS 8 років тому

    а ImageButton так же можно обработать?

    • @start_android
      @start_android  8 років тому

      Похоже

    • @user-rg2cs5wo9i
      @user-rg2cs5wo9i 7 років тому

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

  • @zergdeveloper9227
    @zergdeveloper9227 6 років тому

    button2.setOnClickListener(this); не понял этот метод

    • @zergdeveloper9227
      @zergdeveloper9227 6 років тому

      button1.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
      textView.setText("qwert");
      вот это понятно

  • @user-lm2gq5yl9p
    @user-lm2gq5yl9p 5 років тому

    Странно, в AS 3.4.1 Не ставился id элемента text, пока вручную не прописал, из за этого и код не работал( Под Android 5.1
    А вот так ожил:
    Main.xml
    ***



    main.java
    ***
    public class MainActivity extends AppCompatActivity {
    TextView textView;
    Button button1;
    Button button2;
    Button button3;
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.textView);
    button1 = (Button) findViewById(R.id.button1);
    button2 = (Button) findViewById(R.id.button2);
    button3 = (Button) findViewById(R.id.button3);
    View.OnClickListener clicButton1 = new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    textView.setText("1");
    }};
    button1.setOnClickListener(clicButton1);
    button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    textView.setText("2");
    }
    });
    }
    }

  • @str0esku
    @str0esku 4 роки тому +1

    Смогу ли я стать Junior Android Developer'ом, просмотрев все ~150 видео-уроков из этого плей-листа?)

    • @start_android
      @start_android  4 роки тому +1

      Если просто смотреть, то вряд-ли. Нужно кодить самостоятельно, создавать свои приложения, читать документацию и код других разработчиков, делать ошибки и исправлять их.

  • @samursdk
    @samursdk 9 років тому

    Vsem dobrogo vremeni sutok. Kto mne podskajite kak ya mogu izmenit cvet knopki pri najatii na nee s odnogo cveta na drugoy ?

    • @start_android
      @start_android  9 років тому

      Nair Nairovi4 например, так: setBackgroundColor(getResources().getColor(R.color.holo_light_green))

  • @user-fam
    @user-fam 6 років тому

    Для чего было объявлять ссылку и искать ID на 3-ю кнопку?

  • @adbln1
    @adbln1 8 років тому

    Не совсем понял второй способ. Вторая кнопка слушает нажатие в своём активити -- тут всё понятно.
    Но вот здесь:
    public void onClick(View view) {
    textView.setText("Нажата кнопка 2");
    Откуда программа узнаёт, что при нажатии именно на вторую кнопку нужно выдавать именно этот текст? Никаких указателей же нет.

    • @start_android
      @start_android  8 років тому +7

      Для второй кнопки обработчиком является Активити. Поскольку это единственная кнопка с таким обработчиком, система ее определяет. Если бы было несколько, в методе onClick их нужно было бы определять по ID через switch. В дальнейших уроках, в основном, так и делаем.

    • @adbln1
      @adbln1 8 років тому

      Спасибо за ответ!

    • @user-ju9ij3bt8b
      @user-ju9ij3bt8b 7 років тому

      спасибо, искал ответ -- нашел в вашем же ответе на вопрос))). Отличные уроки!!!