- Событие onClick не работает Android
- 5 ответов
- К вашему сведению
- Обработчик нажатия кнопок не работает в Android Studio
- 6 ответов
- Не срабатывает onClick(v: View) при нажатии на кнопку
- Решение
- событие onClick не запускается | Android
- обратите внимание
- уточнение
- 9 ответов
- Приложение вылетает с ошибкой: IllegalStateException: Could not execute method for android:onClick. Не могу понять почему
Событие onClick не работает Android
У меня ошибка, довольно распространенная, поскольку я видел несколько решений, все равно в Интернете. Я пытался сделать это на своем коде Android, но это не сработало.
У меня есть кнопка. Эта кнопка, в зависимости от того, какой текст находится на счетчике, должна заставить меня перейти на страницу или другую.
Это xml-код кнопки:
И его класс java:
Я должен перейти на свой BadgeEntree. Оба они определены в AndroidManifest.xml, я довольно потерян, все в порядке, но это не так, что я делаю не так?
Спасибо за помощь
5 ответов
Удалить
Сначала вы должны позвонить if(textActivity.equals(«Entree») вместо ==
К вашему сведению
Теперь, когда вы нажимаете кнопку, система Android вызывает метод jumpTo (View) действия. Чтобы это работало, метод должен быть общедоступным и принимать View как единственный параметр.
Наконец-то
Удалить android: onClick = «jumpTo» в xml
Измените код выше на
Также удалите код ниже из ur xml
ПРИМЕЧАНИЕ. Вы можете использовать «equalsIgnoreCase», если хотите сравнение строк без учета регистра. Если вы хотите сравнение строк с учетом регистра, вы можете использовать «равно».
Удалите тег onClick из xml-кода кнопки
Вы должны удалить эту строку
И переместите логику для метода jumpTo в вашем классе, потому что теперь у вас есть прослушиватель onCLick в вашем классе и в вашем xml. Также измените эту строку
Источник
Обработчик нажатия кнопок не работает в Android Studio
Структура каталогов моей деятельности, как показано ниже
Вот почему, чтобы получить идентификатор кнопки, я написал код ниже
Но, по некоторым причинам, когда я нажимаю кнопку, она не приходит внутрь. Я что-то пропустил? Мой код ниже.
Полный код действия
6 ответов
Лучший способ добиться этого — использовать setContentView(R.layout.activity_login) в вашем методе onCreate() , а затем нажать кнопку findViewById(R.id.btnLogin) .
Строка setContentView(R.layout.activity_login); раздувает макет и отображает представления, определенные в вашем XML. Это совершенно другие экземпляры, чем те, которые были созданы предыдущим вызовом inflate() . Вы, кажется, смешиваете способ, которым мы раздуваем представление для фрагмента и способ, которым мы делаем это для действия. В Деятельности мы просто называем setContentView() . Это означает, что вы должны изменить свой код на следующее:
Теперь код для установки OnClickListener найдет правильную кнопку.
Обратите внимание, что первые две строки onCreate() всегда будут такими, как показано здесь. Единственным отличием будет имя макета, используемого в setContentView() . Вы избежите сильной головной боли, если будете всегда следовать этой схеме.
Предполагая, что вы сделали то, что говорит @ Code-Apprentice (поместите что-то для выполнения), могут произойти другие вещи:
Кнопка clickable ? Проверьте это в макете или установите с помощью
такое кнопка enabled ? Так же, как и раньше.
есть ли другое View перекрывающее кнопку, которая ловит щелчок перед ним?
Удалите View rootView = getLayoutInflater().inflate(R.layout.activity_login, null, false); и замените его setContentView
Может быть намерение находится под OnActivityResult, не выходя на улицу
Так что просто удалите этот метод button.setonclicklitner () из OnactivityResult
Прежде всего, в Activity вам не нужно раздувать макет, вы связываете его с помощью метода setContentView :
Во-вторых, если вы хотите сделать это анонимным способом, вы готовы пойти, но добавьте что-то в метод onClick:
Или вы можете сделать это так:
Если вы делаете это таким образом, вы должны реализовать View.OnClickListener в своей деятельности с помощью:
И, наконец, опять же, если вы ничего не делаете в своем методе кликов, Android не сделает этого, поэтому:
Источник
Не срабатывает onClick(v: View) при нажатии на кнопку
Добрый день всем!
Разбираюсь с аутентификацией через Firebase, код частично взяла из их документации
Подскажите, почему может не вызываться функция override fun onClick? При нажатии на кнопку с id emailCreateAccountButton ничего не происходит, если я ставлю breakpoint на первую строку функции val i = v.id — видно, что программа в эту функцию не заходит.
Другой вариант сработал — прописать вызов createAccount OnClickListener в OnCreate, но хочется понять, что не так с OnClick.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Events OnClick. Label7Click и Label4Click при нажатии на кнопку.
Builder 6 C++ Как сделать так, чтобы при нажатии на кнопку «Go !» начинали действовать.
При нажатии на кнопку функция не срабатывает
Добрый вечер, я новичок в javascript, поэтому возможно, что то делаю не так.. Я пытаюсь установить.
Не срабатывает при нажатии на кнопку Del
Не срабатывает при нажатии на кнопку не могу понять почему, хотя другие кнопки срабатывают.
добрый день товарищи! такая проблема, при запуске программы, на форме нажимаю кнопку, выходит.
Решение
th1ngshappen, ты должен кнопке слушатель установить.
Добавлено через 19 секунд
th1ngshappen, +
Источник
событие onClick не запускается | Android
я сделал очень простое тестовое приложение с одним действием и одним макетом. The onClick не срабатывает при первом нажатии, как и должно быть.
если вы запустите это приложение, и нажмите на вторую editText и затем обратно на первый, он не будет запускать onClick . Вы можете продолжать выбирать назад и вперед, и это не вызовет onClick на всех. Мне нужно это основное функциональность, но не смогли придумать способ заставить его работать. Идеи?
обратите внимание
я пробовал все методы, рекомендованные на моем физическом устройстве уровня API 16 и эмуляторе уровня API 8, но я получаю ту же проблему.
уточнение
, когда editText1 фокусируется и нажимается, затем onClick метод пожаров. Если editText2 фокусируется, а потом , это не пожар. Большой проблема.
9 ответов
обзор когда пользователь взаимодействует с любым компонентом пользовательского интерфейса, различные слушатели вызываются в порядке сверху вниз. Если один из слушателей с более высоким приоритетом «потребляет событие», то нижние слушатели не назовут.
в вашем случае эти три слушателя вызываются по порядку:
- OnTouchListener
- OnFocusChangeListener
- OnClickListener
в первый раз пользователь касается EditText он получает фокус, так что пользователь может ввести. действие потребляется здесь. поэтому OnClickListener с более низким приоритетом не вызывается. Каждое последующее прикосновение не меняет фокус, поэтому эти события просачиваются в OnClickListener.
кнопки (и другие такие компоненты) не получают фокус от события касания, поэтому OnClickListener вызывается каждый раз.
по сути, у вас есть три выбор:
реализовать OnTouchListener сам по себе:
это будет выполняться каждый раз, когда EditText коснулся. Обратите внимание, что слушатель возвращает false , это позволяет событию стекать вниз к встроенному OnFocusChangeListener, который изменяет фокус, чтобы пользователь мог ввести EditText.
реализовать OnFocusChangeListener вместе с OnClickListener:
этот слушатель ловит первое событие касания, когда фокус изменяется, в то время как ваш OnClickListener ловит каждое другое событие.
(это не правильный ответ здесь, но это хороший трюк, чтобы знать.) Установить фокус атрибут false в XML:
теперь OnClickListener будет стрелять каждый нажатии. Но это делает EditText бесполезным, так как пользователь больше не может вводить текст.
Примечание:
getApplicationContext() может создавать утечки памяти. Хорошая привычка-избегать его использования без крайней необходимости. Вы можете безопасно использовать .
Источник
Приложение вылетает с ошибкой: IllegalStateException: Could not execute method for android:onClick. Не могу понять почему
Всем здравствуйте! Написал программу. Вроде всё правильно, но не могу понять, почему ошибка. Показывал код программисту, он тоже ничего такого не нашёл. Код MainActivity:
Не обращайте внимания, что в коде нет setOnClickListener. Я поставил атрибут в xml android:onclick. Кнопка нормально работает. Вылетает только если ввести «2014» и нажать на кнопку. На всех других значениях работает нормально. Ошибка происходит именно в этих строках:
Проверял способом комментирования строк. Даже если написать так:
Всё равно та же ошибка. Если эти строки закомментировать, то всё работает нормально. На всякий случай добавлю код strings.xml:
И, конечно, standardscrapyard.xml:
03-30 15:42:37.594 14262-14262/com.testprogram.alex.program20000dgfg E/AndroidRuntime: FATAL EXCEPTION: main java.lang.IllegalStateException: Could not execute method for android:onClick at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:275) at android.view.View.performClick(View.java:3511) at android.view.View$PerformClick.run(View.java:14105) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4600) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270) at android.view.View.performClick(View.java:3511) at android.view.View$PerformClick.run(View.java:14105) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4600) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at com.testprogram.alex.program20000dgfg.MainActivity.onClick(MainActivity.java:129) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:270) at android.view.View.performClick(View.java:3511) at android.view.View$PerformClick.run(View.java:14105) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4600) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) at dalvik.system.NativeStart.main(Native Method)
Помогите мне, пожалуйста, разобраться с этой ошибкой!
Источник