Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
#1

Не работает обработчик события кнопки - Программирование Android

27.01.2014, 10:04. Просмотров 1310. Ответов 18
Метки нет (Все метки)

Не могу разобраться почему выскакивает ошибка..пока только учусь http://startandroid.ru/ru/uroki/vse-...re-button.html

хочу сделать примерно тоже самое и почему-то ошибка выходит((

причина в чём может быть?


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package ru.chita.developobrabotka;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends Activity {
       TextView zagtext;
       Button butOk;
       Button butNo;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        // найдем View-элементы
        zagtext = (TextView) findViewById(R.id.zagtext);
        butOk = (Button) findViewById(R.id.butOk);
        butNo = (Button) findViewById(R.id.butNo);
        
         // создание обработчика
         OnClickListener oclBtn = new OnClickListener() {
           @Override
           public void onClick(View v) {
             // TODO Auto-generated method stub
               switch (v.getId()) {
               case R.id.butOk:
                 // кнопка ОК
                   butOk.setText("Нажата кнопка ОК");
                 break;
               case R.id.butNo:
                 // кнопка Cancel
                   butNo.setText("Нажата кнопка Cancel");
                 break;
               }
     
           }
         };
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}

при этом

Java
1
2
3
4
5
6
7
8
public final class R {
   .....
    public static final class id {
        public static int action_settings=0x7f080003;
        public static int butNo=0x7f080002;
        public static int butOk=0x7f080001;
        public static int zagtext=0x7f080000;
.....

и в main.xml

<
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <TextView
        android:id="@+id/zagtext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="17dp"
        android:text="@string/hello_world" />
 
    <Button
        android:id="@+id/butOk"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/zagtext"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="48dp"
        android:text="Ok" />
 
    <Button
        android:id="@+id/butNo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/butOk"
        android:layout_alignBottom="@+id/butOk"
        android:layout_toRightOf="@+id/zagtext"
        android:text="No" />
 
</RelativeLayout>
всё же правильно сделал...я ещё просто обработчик создал...ещё ему не скормил кнопкам...предварительно хотел запустить приложение...но вот уже ошибка((
Миниатюры
Не работает обработчик события кнопки  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 10:04     Не работает обработчик события кнопки
Посмотрите здесь:
Android Обработчик кнопки не работает - приложение компилируется, но крашится при запуске
Обработчик события ToggleButton Android
Обработчик кнопки Android
Обработчик кнопки Android
Android Socket.io (прослушивание события работает на Desktop и не работает на Android)
Android Не работает обработчик выбора файла
Не работает приложение после нажатия кнопки home Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
27.01.2014, 10:12  [ТС]     Не работает обработчик события кнопки #2
мб что-то с библиотеками?
у меня вот так отмечено
Миниатюры
Не работает обработчик события кнопки  
vxg
Модератор
3112 / 1914 / 206
Регистрация: 13.01.2012
Сообщений: 7,300
27.01.2014, 10:41     Не работает обработчик события кнопки #3
говорит русским голосом что после case должна быть константа. у вас там не константа. как решение "в лоб" - перепишите через if-ы
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
27.01.2014, 10:58  [ТС]     Не работает обработчик события кнопки #4
вот попробовал так...всё равно не так((
а попробовал через if-говорит синтаксис не правильный


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void onClick(View v) {
             // TODO Auto-generated method stub
               switch (v.getId()) {
               case butOk:
                 // кнопка ОК
                   butOk.setText("Нажата кнопка ОК");
                 break;
               case butNo:
                 // кнопка Cancel
                   butNo.setText("Нажата кнопка Cancel");
                 break;
               }
     
           }

butOk и butNo - это же константы у меня же...

вот в R.java

Java
1
2
3
4
5
6
7
8
...
 public static final class id {
        public static int action_settings=0x7f080003;
        public static int butNo=0x7f080002;
        public static int butOk=0x7f080001;
        public static int zagtext=0x7f080000;
    }
...
verylazy
Заблокирован
27.01.2014, 11:27     Не работает обработчик события кнопки #5
файл R руками трогать НЕЛЬЗЯ!
там все строки по идее должны быть final поэтому оно и ругается что не константа
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
27.01.2014, 12:11  [ТС]     Не работает обработчик события кнопки #6
Я файл R руками не трогал..просто скопировал часть содержания его сюда...там что написано-всё автоматически прописалось...всё как по урокам
verylazy
Заблокирован
27.01.2014, 12:18     Не работает обработчик события кнопки #7
попробуй удалить файл R.java, он должен сразу же создаться заново, а потом проверить, появился ли модификатор final
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
27.01.2014, 12:18     Не работает обработчик события кнопки #8
Stem123, онКлик вместе с оверрайдом вытащите из онКриейта, листенер удаляем совсем.
В дизайнере находим те кнопки - в свойствах ставим галку Clickable, а в onClick() выбираем наш onClick(). Всё.
verylazy
Заблокирован
27.01.2014, 12:22     Не работает обработчик события кнопки #9
Цитата Сообщение от MegaSinner Посмотреть сообщение
Stem123, онКлик вместе с оверрайдом вытащите из онКриейта, листенер удаляем совсем.
В дизайнере находим те кнопки - в свойствах ставим галку Clickable, а в onClick() выбираем наш onClick(). Всё.
у него все поля в файле R генерятся без модификатора final, это видно в первом сообщении, поэтому ругается что не константа
и такой синтаксис в onClick в том же первом сообщении тоже работает нормально
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
27.01.2014, 14:59     Не работает обработчик события кнопки #10
verylazy,

Не по теме:

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

vxg
Модератор
3112 / 1914 / 206
Регистрация: 13.01.2012
Сообщений: 7,300
27.01.2014, 15:13     Не работает обработчик события кнопки #11
Цитата Сообщение от Stem123 Посмотреть сообщение
а попробовал через if-говорит синтаксис не правильный
Java
1
2
3
4
public void onClick(View v) {
               if (v.getId() == R.id.butOk) {
               }
           }
Севак
27.01.2014, 18:52
  #12

Не по теме:

MegaSinner, как правило очистка проекта помогает, мне, по крайней мере, всегда

Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
28.01.2014, 03:24  [ТС]     Не работает обработчик события кнопки #13
Всё работает исправно после удаления R.java и заново создание его....
код не правил...и всё заработало
А почему так происходит?это глюки среды разработки или что?
NiRamz
28.01.2014, 04:53
  #14

Не по теме:

В любой не понятной ситуации делайте clear проекта

verylazy
Заблокирован
28.01.2014, 10:32     Не работает обработчик события кнопки #15
У меня такое чувство, что мои сообщения иногда тупо не читают.
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
28.01.2014, 11:07  [ТС]     Не работает обработчик события кнопки #16
Да нет почему читаю, но я же вроде всё изначально делал правильно и импорт обновил, и сохранил всё, и запустил сначала эмулятор и потом приложение...помогло только снова автоматическое создание R файла...мне просто интересно почему так происходит и стоит л ожидать такое в будущем...насколько стабильность среды разработки
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
28.01.2014, 11:32     Не работает обработчик события кнопки #17
Stem123, то глюк среды. У меня когда-то тупо ругалось на R и никакой там clear не помог.
verylazy
Заблокирован
28.01.2014, 11:40     Не работает обработчик события кнопки #18
Цитата Сообщение от Stem123 Посмотреть сообщение
Да нет почему читаю, но я же вроде всё изначально делал правильно и импорт обновил, и сохранил всё, и запустил сначала эмулятор и потом приложение...помогло только снова автоматическое создание R файла...мне просто интересно почему так происходит и стоит л ожидать такое в будущем...насколько стабильность среды разработки
Откуда мне знать что там нажималось, удалялось, добавлялось и менялось. Это все слова - я ничего не делал, оно само. Это старо как мир, бородатый баян "мопед не мой, я просто разместил объяву".

Пойдем дальше. Стоит ли ожидать этого? Что изменится от того, что какой-то анонимус где-то на форуме в интернетах напишет "ДА!!! тебе стоит ожидать этого!!!".
Или наоборот, напишет "да забей и работай, не создавай себе и другим головняк". Что-то поменялось? Какой из вариантов ответа заставит тебя прочитать что-то новое из документации или начать гуглить на эту тему?

Вот так вот с утра.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 21:01     Не работает обработчик события кнопки
Еще ссылки по теме:
Изменение размера текста кнопки вместе с размером самой кнопки? Android
Определить нажатие кнопки Home и кнопки сворачивания приложения Android
Оформление кнопки: отследить, вмещается ли текст в размеры кнопки Android
TableLayout. Кнопки получаются разных размеров (кнопки-картинки) Android
Android Сервер-обработчик

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
shavuz
99 / 105 / 19
Регистрация: 29.01.2014
Сообщений: 527
29.01.2014, 21:01     Не работает обработчик события кнопки #19
а вы не пробовали перенести все в новый проект. иногда помогает . тем более если это короткий проект. R файл не компелируется нормально и по этому он не видит ничего. тем более если это короткий проект. еще билд ол проверте, посмотрите на что он делает билд, может именно этот проект не билдится.
Yandex
Объявления
29.01.2014, 21:01     Не работает обработчик события кнопки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru