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

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

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

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

27.01.2014, 10:04. Просмотров 1328. Ответов 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
Модератор
3143 / 1945 / 214
Регистрация: 13.01.2012
Сообщений: 7,437
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
Модератор
3143 / 1945 / 214
Регистрация: 13.01.2012
Сообщений: 7,437
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 проекта

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

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

Или воспользуйтесь поиском по форуму:
verylazy
Заблокирован
28.01.2014, 10:32     Не работает обработчик события кнопки #15
У меня такое чувство, что мои сообщения иногда тупо не читают.
Yandex
Объявления
28.01.2014, 10:32     Не работает обработчик события кнопки
Ответ Создать тему
Опции темы

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