Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

27.01.2014, 10:04. Просмотров 1401. Ответов 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>
всё же правильно сделал...я ещё просто обработчик создал...ещё ему не скормил кнопкам...предварительно хотел запустить приложение...но вот уже ошибка((
0
Миниатюры
Не работает обработчик события кнопки  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 10:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает обработчик события кнопки (Программирование Android):

Обработчик кнопки не работает - приложение компилируется, но крашится при запуске - Программирование Android
Всем привет! Собственно, проблема: у меня получилось сделать udp-listener за пару вечеров - слава яйцам! Теперь я захотел добавить...

Обработчик события ToggleButton - Программирование Android
Доброго времени суток! Имеется ToggleButton на форме На кнопку прикручена функция, которая вызывает форму Yes/No public void...

Обработчик кнопки - Программирование Android
В Activity_main.xml 2 кнопки c атрибутом android:onClick (onpizz &amp; oncrecs), по нажатию на которые должны открываться РАЗНЫЕ AlertDialog....

Обработчик кнопки - Программирование Android
С помощью нажатия хочу перелистывать интерфейс приложения. XML заранее уже сделаны в layout - без ошибок. Если одну кнопку обрабатываю...

Socket.io (прослушивание события работает на Desktop и не работает на Android) - Программирование Android
Есть метод, прослушивающий событие сервера по soket.io (import io.socket.client.Ack; import io.socket.client.IO; import...

Не работает обработчик выбора файла - Программирование Android
Снова пытаюсь разобраться с AIDE на мобиле. Проблема в том, что не отрабатывает метод onItemSelected. Там хочу прочитать файл, путь к нему...

18
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
27.01.2014, 10:12  [ТС] #2
мб что-то с библиотеками?
у меня вот так отмечено
0
Миниатюры
Не работает обработчик события кнопки  
vxg
Модератор
3184 / 1987 / 227
Регистрация: 13.01.2012
Сообщений: 7,684
27.01.2014, 10:41 #3
говорит русским голосом что после case должна быть константа. у вас там не константа. как решение "в лоб" - перепишите через if-ы
0
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;
    }
...
0
verylazy
Заблокирован
27.01.2014, 11:27 #5
файл R руками трогать НЕЛЬЗЯ!
там все строки по идее должны быть final поэтому оно и ругается что не константа
0
Stem123
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 37
27.01.2014, 12:11  [ТС] #6
Я файл R руками не трогал..просто скопировал часть содержания его сюда...там что написано-всё автоматически прописалось...всё как по урокам
0
verylazy
Заблокирован
27.01.2014, 12:18 #7
попробуй удалить файл R.java, он должен сразу же создаться заново, а потом проверить, появился ли модификатор final
0
MegaSinner
91 / 87 / 3
Регистрация: 09.04.2010
Сообщений: 746
27.01.2014, 12:18 #8
Stem123, онКлик вместе с оверрайдом вытащите из онКриейта, листенер удаляем совсем.
В дизайнере находим те кнопки - в свойствах ставим галку Clickable, а в onClick() выбираем наш onClick(). Всё.
0
verylazy
Заблокирован
27.01.2014, 12:22 #9
Цитата Сообщение от MegaSinner Посмотреть сообщение
Stem123, онКлик вместе с оверрайдом вытащите из онКриейта, листенер удаляем совсем.
В дизайнере находим те кнопки - в свойствах ставим галку Clickable, а в onClick() выбираем наш onClick(). Всё.
у него все поля в файле R генерятся без модификатора final, это видно в первом сообщении, поэтому ругается что не константа
и такой синтаксис в onClick в том же первом сообщении тоже работает нормально
0
MegaSinner
91 / 87 / 3
Регистрация: 09.04.2010
Сообщений: 746
27.01.2014, 14:59 #10
verylazy,

Не по теме:

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

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

Не по теме:

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

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

Не по теме:

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

0
verylazy
Заблокирован
28.01.2014, 10:32 #15
У меня такое чувство, что мои сообщения иногда тупо не читают.
0
28.01.2014, 10:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2014, 10:32
Привет! Вот еще темы с ответами:

Не работает приложение после нажатия кнопки home - Программирование Android
Добрый день, дорогие форумчане.:) Волнует такой вопрос - написала приложение под android(intelij idea), запускаю на девайсе. Всё...

Обработчик события кнопки в класс кнопки - C#
Добрый день. Допустим, в форме логина надо получить имя пользователя и сделать кнопку для формы логина. Настроить внешний вид, размер и...

Обработчик события по нажатию кнопки - Delphi
Есть программа с динамически создаваемыми кнопками. Каждая кнопка изменяет содержимое некого текстового файла. Кол-во кнопок и содержимое,...

Обработчик события 'нажатие кнопки' - Delphi
Уважаемые знатоки! Нужно всего-то ничего - добавить на форму обработчик события 'нажатие кнопки'. Было бы на VB - ни в коем случае не...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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