Урок 10. Один обработчик (OnClickListener) для нескольких кнопок (Buttons) | Android Studio

Поділитися
Вставка
  • Опубліковано 24 лип 2024
  • Подпишись на Продвинутые курсы по созданию мобильных приложений и игр для андроид на языках Java и Kotlin: www.fandroid.info/category/pr...
    В этом уроке вы узнаете, как оптимизировать реализацию слушателей для события нажатия кнопки в android - будем использовать один слушатель (Listener) для нескольких объектов. Также вы узнаете, как заставить TextView реагировать на нажатие, и как обрабатывать нажатие TextView на экране android устройства.
    Весь плейлист: • Уроки по основам разра...
    Исходный код проекта на Github скачать по ссылке в текстовой версии: www.fandroid.info/urok-10-odin...
    Ссылки в видео:
    Конструкции выбора в языке Java: www.fandroid.info/konstruktsii...
    Группа взаимопомощи Вконтакте для начинающих ANDROID разработчиков и программистов: www.fandroid.info/gruppa-vzaim...
    Скачать видеоуроки: www.fandroid.info/skachat-vide...
    Поддержите наш проект: www.fandroid.info/spasibo-za-v...
    #android #AndroidStudio #startandroid
  • Наука та технологія

КОМЕНТАРІ • 147

  • @user-hg6tn5xn2k
    @user-hg6tn5xn2k 9 років тому +3

    Спасибо за уроки. С нетерпением жду обновлённых уроков на Android Studio

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

      Вот точно бы не помешало. А то приходится кое какие мелочи допетривать самому. Лишнее время отнимает все это.

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

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

  • @dmitryshelekhan5521
    @dmitryshelekhan5521 6 років тому +5

    Видео замечательное.Виталий вам виват за труды

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

    большое спасибо, вот бы еще вызов нового активити по нажатию осветить

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

    Эх... Жалко видео уроки больше не снимает, единственный нормальный контент был по данной теме.

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

    Большое спасибо за уроки)

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

    уроки супер спасибо!

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

    Очень нравится звук Вашей клавиатуры))

  • @ost008
    @ost008 9 років тому +26

    Я бы добавил ЧЕТВЕРТЫЙ case для "textView":
    case R.id.textView:
    button3.setText(R.string.textButton);
    break;
    И ниже:
    textView.setOnClickListener(onClickListener);
    Работает.

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

      +Ост Малаш Сделал так же. И в связи с этим возник вопрос: можно для всех View, имеющих метод onClick создать один обработчик и уже в его теле указывать, какой именно элемент необходимо выбрать (как в данном примере)? Или необходимо для разных типов View (кнопки, текстовые поля, чекбоксы) создавать отдельные обработчики?

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

      +Anton Potapenko Понимаю, что возможно некропостинг, но не могу не обратить Ваше внимание на Ваш вопрос, который сам в себе содержит ответ :)
      _"можно для всех View, имеющих метод onClick создать один обработчик и уже в его теле указывать, какой именно элемент необходимо выбрать"_

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

      +CarboardTrain да, все работает. Просто хотел уточнить, может есть какие-нибудь подводные камни, о которых не знаю.

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

      +Ост Малаш я, когда смотрел, сделал так же)) Иногда люблю что-то делать наперёд, потом проверять)

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

      если сделать так, то надпись выводится в заголовке, а если как у автора - то на кнопке

  • @javagraf2753
    @javagraf2753 8 років тому +12

    не проще было создать еще 1 case для текста?) и странно я недобавлял атрибута clickable для textViev в хмл, но тем не менее все работает :) более того, добавил атрибут для textView android:clickable="false" и все равно все работает

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

    Супер!

  • @abdulbasirbasirov
    @abdulbasirbasirov 5 років тому +2

    для тех кто пытается воссоздать по этим урокам в main activity.java замените ActionBarActivity на AppCompatActivity потому что
    ActionBarActivity была объявлена устаревшей с библиотек поддержки версии 22.1.0 в пользу AppCompatActivity

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

    Огромное спасибо за такой титанический труд! не могли бы посоветовать книги по Андроид программированию ?

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

    Спасибо!

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

    Почему на эмуляторе при первом нажатии на любую кнопку button, кнопки уходят немного влево?

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

    возможно ли поле textview дополнять?
    Т.е. существет ли какая то команда не settext как у вас а Addtext?

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

    У меня вопрос можно ли создать 1 строковый ресурс и к нему уже в методах приписывать цифры на кнопках

  • @drjakil
    @drjakil 9 років тому +5

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

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

    что бы было меньше кода можно к классу просто добавить
    implements View.OnClickListener и переназначить метод onClick и в нём уже юзать switch case

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

    на nexus 5 при нажатии на кнопки крашиться прога
    как это исправить?

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

    При создании кликабельного текста. Я сделал на перед Вашу задучу недосмотрев видео. В результате чего не прописал в main.xml команду clickable. Но приложение все равно работает. Чем это чревато если не прописывать данный текст?

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

    Ребят помогите пожалуйста не получается добавить конструкцию swich. Что с этим делать?

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

    Нужна помощь,при запуска в андроид студио пишет: IllegalArgumentException: Unable to locate adb

  • @user-or3ct6dx8f
    @user-or3ct6dx8f 2 місяці тому

    я джаву конечно не учил, да и программирование чисто ради баловства изучаю, но что я понял по этому уроку, что в настоящий момент оператор switch требует константные выражения для ускорения сборки и компиляции и по этому уроку шаг в шаг лучше не повторять. Так что лучше здесь обойтись циклом if(){...}

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

    Виталий, почему строка:
    android:clickable="true"
    никак не влияет на программу? Ибо, если я создал слушатель нажатия для textVeiw, то обработка нажатия происходит и без вышеупомянутой строки (или если значение false).

    • @user-tg3hi9tc4s
      @user-tg3hi9tc4s 6 років тому +1

      Эта строка действительно лишняя. Когда textView назначаешь обработчик клика, clickable автоматические на true переходит

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

    если для оптимизации - чем меньше объектов тем лучше, то не лучше ли наследовать MainActivity от OnClickListener и переопределить метод onClick?

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

    Поправьте пожалуйста ссылку на гитхаб

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

    У нас разные версии Android Studio и не чего не сходится, было бы не плохо еслив вы обновили свою версию до той которую сами посоветовали скачать с сайта

  • @user-no7jf3vk7n
    @user-no7jf3vk7n 9 років тому

    Жаль что долго ждать новых уроков приходится( а так норм

  • @I-am-lapi
    @I-am-lapi 9 років тому

    на 5.58 минуте у Вас в эмуляторе меняется текст (кракозябры меняются), у меня ничего не происходит. Почему?

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

    Виталий, а если потребуется предусмотреть локализацию приложения под разные языки, то файлов под строковые параметры values/strings.xml будет несколько?

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

      +Денис Соколов совершенно верно

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

      Благодарю.

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

    Mission Compited 3,(3) часов просмотра за один день. вот она стремление к изучению Android. Хотя у меня все девайсы apple:D

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

    В части кода
    public void onClick(View view) {
    switch (view.getId()){
    case R.id.button1:
    textView.setText(R.string.text1);
    textView подчеркивается, студия подсказывает что нужно textView финализировать, и сама подставляет final при инициализации id
    final TextView textView = (TextView) findViewById(R.id.textView);
    Версия студии 2.1.2, приложение при этом работает. Скажите это с обновлением студия поменялась или почему требует финализировать? Без final TextView при компиляции вылазить ошибка
    Error:(31, 25) error: local variable textView is accessed from within inner class; needs to be declared final

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

      Отвечу сам себе. Это я обьявил глобальную переменную textView, а потом локально инициализировал ее)

  • @germanevgeniy
    @germanevgeniy 8 років тому +4

    Сделал все как по уроку, но в эмуляторе при нажатии на кнопки ничего не происходит, код внимательно пересматривал, версия андроид студио 1.5, до этого в предыдущих уроках все получалось

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

      +Евгений Герман версия не при чем, ищите ошибки. Сделайте заново

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

    странно, что as на вас не ругается за отсутствие default в switch

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

      +Игорь Т default в switch не обязателен

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

    Статья про Интерфейсов, в начале пишете что у интерфейсов нет полей, а уже внизу в примера, их объявляете. Или я не правильно понял))

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

      +Кылыч Молдожанов учи основы Java!

  • @jelti88
    @jelti88 8 років тому +5

    public void onClick(View view) {
    switch (view.getId()) {
    с начало автоматом ставило (View v) и из за этого нельзя было Поставить view.getId(), вроде разобрался
    каждый раз делает public void onClick(View v) почему так?

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

      такая же проблема, приходится вручную прописывать v на view

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

      У меня тоже так

    • @goryhikful
      @goryhikful 8 років тому +5

      +Александр Лазарев нужно было v.getId()

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

      у меня так же , но в чем тут проблема? если стоит в начале View v, то соответсвенно ставим не view.getId() , а v.getId() , так даже быстрее)

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

      View это класс !! view - это экземпляр класса View ( обьект , а еще точнее - ссылка на обьект )
      можно написать и View m , а затем чтобы использовать метод .getId() - можно прописать вот так :
      m.getId()

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

    Добрый день). Я написал банальный TapTap(где вы нажимаете на кнопки 5 10 15, и к цифре по середине экрана добавляется 5, 10, 15). Но в чем проблема? Проблема в том, что при смене ориентации у меня значение аннулируется, я не могу понять, оно типо при смене запускает новый класс Main и при этом сменная = 0, подскажите пожалуйста.

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

      При смене ориентации активити пересоздается. Чтобы не пересоздавалось, пропишите в манифесте этому активити такой атрибут: android:configChanges="keyboardHidden|orientation|screenSize"

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

      Большое спасибо)

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

    Можно без Switch, просто вывести текст кнопки по идентификатору через Button but =(Button) findViewById(view.getId()) и but.getText

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

    помогите пожалуйста работает только 1я кнопка потом Приложение остановлено(

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

    Решил сделать так, чтобы по нажатию на кнопку менялась картинка в ImageView. В тело case написал как из следующего урока: pic.setImageDrawable(getResources().getDrawable(R.drawable.im2)); Но ничего при нажатии на кнопку не происходит, хоть ошибок в коде студия и не выдает. В чем же может быть дело ?

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

      А когда сделал без case, а один разработчик на одну кнопу - заработало

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

      +Davis Surfer залейте проект в архиве на файлообменник и пришлите ссылку, посмотрим

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

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

    • @nurkanatkhametov6225
      @nurkanatkhametov6225 8 років тому +3

      +Дмитрий Харьков в видео же сказано что метод getId() возвращает идентификатор объекта который вызвал обработчик событий.
      а если хотите вытащить текст из кнопки которая вызвала обработчик, то в обработчике объявите новую кнопку и приравняйте ее к view который передается обработчику. Потом можете получить текст кнопки через метод getText(). На студии 1.5 код вот таков
      Button btn = (Button)v;
      textView.setText(btn.getText());
      Это сработает только если обработчик вызывается объектом класса Button

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

      +Nurkanat Khametov Большое спасибо! Да, мне надо было вытащить текст.

  • @wolfikization
    @wolfikization 8 років тому +9

    Этот способ вообще не работает создал 3 проекта и не в одном он не сработал.
    android studio 1.5.1

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

      только что
      Мой работающий код:
      import androidx.appcompat.app.AppCompatActivity;
      import ......
      public class MainActivity extends AppCompatActivity implements View.OnClickListener {
      TextView textView;
      Button button1;
      Button button2;
      Button button3;
      @Override
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.rlayout);
      textView = (TextView) findViewById(R.id.textView8);
      button1 = (Button) findViewById(R.id.button30);
      button2 = (Button) findViewById(R.id.button31);
      button3 = (Button) findViewById(R.id.button32);
      View.OnClickListener onClickListener = new View.OnClickListener() {
      @Override
      public void onClick(View view) {
      switch (view.getId()) {
      case R.id.button30:
      textView.setText(R.string.text1);
      break;
      case R.id.button31:
      textView.setText(R.string.text2);
      break;
      case R.id.button32:
      textView.setText(R.string.text3);
      break;
      }
      }
      };
      button1.setOnClickListener(onClickListener);
      button2.setOnClickListener(onClickListener);
      button3.setOnClickListener(onClickListener);
      textView.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      button3.setText(R.string.textButton);
      }
      });
      }
      @Override
      public void onClick(View v) {
      }
      };

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

    Вы можете обьяснить синтаксис
    TextView textView;
    TextView textView = (TextView) findById();
    Я метод findById(); знаю а вот другие что то ли обьект то ли приведение типа

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

    Запустил программу второй раз, проблем с кодировкой не возникло, стоит ли в этом случае добавлять что-то в строковые ресурсы,если и так работает?

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

      Это необходимо по многим причинам, и это стандарт

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

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

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

    Помогите пожалуйста android studio подсвечивает красным R Пытался сделать rebuilt не помогло Как решить проблему?

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

    Подскажите пожалуйста, как и где включить отображение горизонтальной линии разделяющей функции в редакторе кода. Да, и огромное спасибо за уроки, редкий и крайне ценный материал, СПАСИБО!

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

      В общих настройках, раздел Editor

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

      Editor>general>appearance>show method separators

  • @user-qz7no5jx8d
    @user-qz7no5jx8d 9 років тому

    привет всем.
    на 1:37 (или около того) автор вводит OnClickListener, а андроид студио автоматом заменяет текст на View.OnClickListener. В моем случае так не получается. Как этого добиться? Спасибо

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

      ***** Так пропишите сами)

    • @user-qz7no5jx8d
      @user-qz7no5jx8d 9 років тому

      Я так и сделал:-) для меня важно овладеть методами быстрого ввода кода поскольку это сильно экономит время. Я так понимаю у Вас это какая-то настройка андроид студио?

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

      ***** у меня так же вводит без настроек

    • @user-qz7no5jx8d
      @user-qz7no5jx8d 9 років тому

      Спасибо буду разбираться.

  • @DeathHaZZard
    @DeathHaZZard 9 років тому +13

    Уроки хороши, но вот честно, если бы я не был знаком с с++, я не смог понять, что такое конструктор,что есть метод (ака функция) и прочие мелочи на которых построено ООП и как следствие - плохо понимал происходящее в видео, имхо с Сишки лучше всего начинать изучать программирование чем сразу с Java (а у тех у кого нет терпения и им сразу Android подавай, "сфейлятся" с 80% вероятностью на уроке эдак 7-8).

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

      DeathHaZZard именно, этого мне не хватает. пройду курсы С++

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

      Witcher B Не обязательно возьмите любой язык с ООП, если у Вас все с нуля и хотите программировать под Android, то учите Java.

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

      Witcher B А почему не Java ?

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

      hopa android я просто новичок. Спасибо, начну с ява)

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

      Alex Sas да, с нуля. Так и сделаю тогда

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

    Помогите кто нибудь, у Мен ошибка non static method getId() что там не так то модет быть?

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

      +Александр Шерунков Попробуйте заново сделать урок. У меня на 9-м уроке был затуп, постоянно допускал какие то ошибки, в итоге на 3-й раз сделал.
      Всегда начинаю проект заново, не тот еще уровень, что бы править ошибки.
      Пробурите тоже самое, может проблема решиться (или увидите разницу, что сделали не так в прошлые разы)

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

    Правильнее будет getString(R.string.text1) а не (R.string.text1) . Иначе нельзя сложить строчку с чем либо другим.

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

    Сделал все как у тебя, только на 6 кнопок. Не получилось при запуске на реальном устройстве пишет ошибка приложения. Телефон леново с820, на виртуальных машинах тестить не могу что-то в биосе не пускает программу к эмулятору.

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

      +Дмитрий Класс смотрите текст ошибки в LogCat в Android Studio

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

    Пришел смотреть уроки по android, а не по java, но немного удивился увидев switch .. case вместо привычного приведения типов.
    Button button = (Button)view;
    textView.setText("Нажата кнопка " + button.getText());

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

    Не подскажете как увеличить шрифт кода в Android Studio? Глаза устают(

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

      Включите в настройках Android Studio масштабирование колесиком мыши с Ctrl yadi.sk/i/XfD7SeWv33krNS

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

      спасибо огромное!

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

    Когда следующий обновленный урок?

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

      MCSkaT4Paca ua-cam.com/video/RqCKvZBek90/v-deo.html

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

    Где новые уроки под Android Studio?

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

      Ост Малаш ua-cam.com/video/RqCKvZBek90/v-deo.html

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

    ругается на button1.setOnClickListener(onClickListener); и не работает ни чего

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

    Будьте осторожны, в новых androidStudio при OnClick(View view) автоматом пишется (View v)

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

      View это класс !! view - это экземпляр класса View ( обьект , а еще точнее - ссылка на обьект )
      можно написать и View m , а затем чтобы использовать метод .getId() - можно прописать вот так :
      m.getId()

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

      @@maximo6199 Да но не каждый начинающий об этом знает, а в данных уроках поверхностно все излагают

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

      @@frx1692 мнн кажется нечего соваться в андроид если не знаешь основы жавы

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

    Блин жесть это все девелоперс пишет в ручную? Вытекает вопрос: сколько месяцев пишется одно более-менее полезное приложение?

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

      Зависит от опыта, но серьезные приложения обычно в одиночку не делаются

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

      Start Android а средненькие? Типо брать данные с сайта и выявлять в приложение+управление/редактирование этими данными

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

      Ну такое - от недели до месяца, в зависимости от опыта и времени

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

    Как еще убрать кракозябины? То что в видио мне не подходит под такой код с=(a+b)*2;
    Text.setText("Решение =" +c);

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

      Почему не подходит? Вместо текста подставьте ссылку на строковый ресурс, в котором и пропишете текст.

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

      если ставлю ссылку не выводит результат

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

      Niko Shut поиграйтесь с настройками кодировки справа внизу в окне проекта

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

      Помогло.Большое спасибо

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

    А как же веселая музыка в конце видео?

  • @user-hl6cp2hg1n
    @user-hl6cp2hg1n 9 років тому

    Что делать если onClickListener отображается красным текстом ?

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

      Илья Кулёмин пишите View.OnClickListener

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

      Илья Кулёмин немного с этим помучался сам. Что "OnClickListener", что "View.OnClickListener" не помогал.
      Погуглил и оказалось, что надо проделать такую маленькую операцию:
      "Tools" -> "Android" -> "Sync Project with Gradle Files"
      И красный тектс пропал.

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

    у меня и без создания строк в ресурсах текст отображался нормально а не вопросами(на реальном устройстве)

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

    Проблему с кодировкой можно решить гораздо проще.
    Справа внизу студии можно выбрать кодировку основного Main: SSMaker.ru/4bc0e128/

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

      Илья Владельщиков я просто показал правильный подход к использованию ресурсов

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

    Предлагаю свой вариант листнера
    View.OnClickListener onClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v)
    {
    if (v instanceof Button) {
    String textOnButton = ((Button) findViewById(v.getId())).getText().toString();
    textOnButton = getResources().getString(R.string.textBase) + textOnButton;
    textView.setText(textOnButton);
    }
    }
    };
    где ресурс textBase = "Нажата кнопка "

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

    OnClickListener onClickListener = new OnClickListener() Почему так нельзя написать?

  • @I-am-lapi
    @I-am-lapi 8 років тому

    Обработчик не работает. Текст не меняется.

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

    Пробовал все уроки от 1-10 не один не получился делал все пошаговой вашей инструкции, допустим в фале где вы пишите одна информация у меня совсем другая поэтому не чего не понятно и не сходится

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

    Привет давай поговорим где нибудь

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

    Привет Виталий у меня предложение ответь мне

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

    Небольшое дополнение:
    button1.setOnClickListener(onClickListener) и тд нужно писать в конце метода onCreate, иначе работать ничего не будет!

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

    Вот эти нюансы с тем что что то забыли прописать просто убивают. Я весь мозг сломал, а оказывается обработчик кнопкам не назначили(((

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

    Под это только спать)) Можно как-то поживее быть?)

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

      Denis Stoyanov включи ускоренный просмотр. Будет веселее)

    • @xgrommx
      @xgrommx 9 років тому +2

      Алмаз Кожамжаров У меня IDEA, можно так monosnap.com/image/p9tbhnuNwgC7Vt33Dg96yQ5CFbncK4 в Android Studio аналогично

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

    2020??

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

    View.OnClickListener onClickListener = new View.OnClickListener()

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

    Сделал тоже самое но с лол и кек

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

    ничто не вечно))
    WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
    It will be removed at the end of 2018. For more information see: d.android.com/r/tools/update-dependency-configurations.html
    Affected Modules: app
    WARNING: The specified Android SDK Build Tools version (22.0.1) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.4.2.
    Android SDK Build Tools 28.0.3 will be used.
    To suppress this warning, remove "buildToolsVersion '22.0.1'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
    Remove Build Tools version and sync project
    Affected Modules: app

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

    "Нажал на кнопку - поменялся текст" и такая туча кода... при том в разных местах... ужас. Это не к автору... такова эта Java в разработке под Android... чего ж всё так сложно? Сжав зубы продолжаю смотреть и пытаться, но %60 уже не понимаю. А смотреть вводный курс на Java лень хДДД