Урок 9. Обработчики событий на примере Button.

Обсуждение уроков
Jurakes777
Сообщения: 8
Зарегистрирован: 23 июл 2012, 08:13

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Jurakes777 » 23 июл 2012, 10:27

http://hostingkartinok.com/show-image.p ... 02e4a78ac3


Подскажите что не правильно... уберал override но программа все равно не запускалась. В чем может быть проблема?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 9. Обработчики событий на примере Button.

Сообщение KamiSempai » 23 июл 2012, 11:51

Похоже на глюк, который появился после последнего обновления SDK.
Попробуйте вырезать и заново вставить весь код где создается обработчик нажатия.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Jurakes777
Сообщения: 8
Зарегистрирован: 23 июл 2012, 08:13

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Jurakes777 » 23 июл 2012, 13:03

KamiSempai писал(а):Похоже на глюк, который появился после последнего обновления SDK.
Попробуйте вырезать и заново вставить весь код где создается обработчик нажатия.

Сделал занова все это дело.. абсолютно с нуля. ошибка пропала но появились две другие ;)

http://hostingkartinok.com/show-image.p ... a9fd9a7fec
вот что у меня получилось ) Это проклятие какоето я никак не могу сделать программу чтобы она работала.. =)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 23 июл 2012, 13:27

на первом скрине было всё правильно, на втором ты уже переделал непонятно зачем. Первая ошибка наверное звучит так "syntax error", потому как после OnClickListener идёт что то в скобках, в общем смотри как ты первый раз делал там всё правильно было. Во второй ошибке ты передаёшь в обработчик какуе то не известную переменную.
З.Ы. и на будущее, выкладывайте коды ошибок, это хорошо что тута код маленький и понять что за ошибка не составит труда.
R.id.team
Политика на форуме запрещена

Jurakes777
Сообщения: 8
Зарегистрирован: 23 июл 2012, 08:13

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Jurakes777 » 23 июл 2012, 13:45

rezak90 писал(а):на первом скрине было всё правильно, на втором ты уже переделал непонятно зачем. Первая ошибка наверное звучит так "syntax error", потому как после OnClickListener идёт что то в скобках, в общем смотри как ты первый раз делал там всё правильно было. Во второй ошибке ты передаёшь в обработчик какуе то не известную переменную.
З.Ы. и на будущее, выкладывайте коды ошибок, это хорошо что тута код маленький и понять что за ошибка не составит труда.
а можете указать именно на ошибку ? я просто очень слаб пока в программировании... много не понимаю... и в первом случае программа у меня тоже не запускалась выдавала ошибку . =(

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 23 июл 2012, 13:57

Код: Выделить всё

OnClickListener click = new OnClickListener() {
    		public void onClick(View view) {
    			//code
    		}
    	};
как я писал в первом случае всё правильно, только надо было убрать @Override
в коде ошибке было сказано про то что "The method onClick(View) of type new View.OnClickListener(){} must override a superclass method" и было предложено "Remote @Override annotation", так что не пропускай подсказки, иногда Eclipse бывает и умной ;)
R.id.team
Политика на форуме запрещена

Jurakes777
Сообщения: 8
Зарегистрирован: 23 июл 2012, 08:13

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Jurakes777 » 23 июл 2012, 14:04

rezak90 писал(а):

Код: Выделить всё

OnClickListener click = new OnClickListener() {
    		public void onClick(View view) {
    			//code
    		}
    	};
как я писал в первом случае всё правильно, только надо было убрать @Override
в коде ошибке было сказано про то что "The method onClick(View) of type new View.OnClickListener(){} must override a superclass method" и было предложено "Remote @Override annotation", так что не пропускай подсказки, иногда Eclipse бывает и умной ;)


Спасибо но похоже я совсем провальный человек ) оверрайд я удалял у меня появлялся серый крестик....
Вы извините что задаю наверно много вопросов и притом глупых... я только начал изучение и очень хочу понять что к чему =)
вот две ссылки с самим кодом и с описанием ошибки
http://hostingkartinok.com/show-image.p ... de24ff4283
http://hostingkartinok.com/show-image.p ... 0d5496bb1b

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 23 июл 2012, 14:30

Серый крестик указывает на то что была ошибка но она уже устранена, это типа как памятка. Так что можешь смело компилить :D
R.id.team
Политика на форуме запрещена

Jurakes777
Сообщения: 8
Зарегистрирован: 23 июл 2012, 08:13

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Jurakes777 » 23 июл 2012, 14:35

rezak90 писал(а):Серый крестик указывает на то что была ошибка но она уже устранена, это типа как памятка. Так что можешь смело компилить :D
Не сужденно мне запустить программу ;D Your project contains error(s) please fix before running your application. Такое ощущение что это уже сам эмулятор не правильно работает. Спасиб вам большое.... буду пробывать настраивать эту всю беду :)

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 23 июл 2012, 14:42

если хочешь то пришли проект, проверю у себя, если у меня запустится то проблема уже в твоей IDE.
R.id.team
Политика на форуме запрещена

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Урок 9. Обработчики событий на примере Button.

Сообщение math64 » 23 июл 2012, 15:23

Серый крестик означает, что ошибка устранена в редакторе, но не устранена в файле. Нужно просто сохранить файл (Ctrl-S)
Иногда появляются непонятные ошибки, которые устраняются удалением строки и вставкой обратно. Первоначально была такая.
Лучше выкладывать не скриншоты, а код с текстом возникающей ошибки и указанием на строку.
Если Эклипс предлагает устранить ошибку - один из вариантов, как правило, то что нужно.

Milker
Сообщения: 12
Зарегистрирован: 18 апр 2012, 22:54

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Milker » 04 авг 2012, 23:31

Подскажите, каким образом можно узнать координаты точки на экране, в которой произошло событие.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 05 авг 2012, 00:30

Milker писал(а):Подскажите, каким образом можно узнать координаты точки на экране, в которой произошло событие.
Ты имеешь в виду касание экрана? Тогда

Код: Выделить всё

public class MyActivity extends Activity implements OnTouchListener{

// All your code goes here

@Override
    public boolean onTouch(View view, MotionEvent event) {
        Log.i("tag", "x = " + event.getX() + " | y = " + event.getY());
        return true;
    }
}
R.id.team
Политика на форуме запрещена

Milker
Сообщения: 12
Зарегистрирован: 18 апр 2012, 22:54

Re: Урок 9. Обработчики событий на примере Button.

Сообщение Milker » 06 авг 2012, 13:58

Ага. Я про это думал. Все бы ничего, но у меня Activity объявлен вот так:

Код: Выделить всё

public class MyActivity extends Activity implements OnClickListener
Собственно, возможно я делаю немного не так, как надо. Что я хочу:
1. вверху экрана имеется картинка с несколькими фигурами
2. на экране еще имеются управляющие элементы (кнопки, текстовые поля)
3. щелчок по фигуре на картинке должен вызвать другой Activity.
Может подскажете как это реализовать?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 06 авг 2012, 14:13

Milker писал(а):Ага. Я про это думал. Все бы ничего, но у меня Activity объявлен вот так:

Код: Выделить всё

public class MyActivity extends Activity implements OnClickListener
Собственно, возможно я делаю немного не так, как надо. Что я хочу:
1. вверху экрана имеется картинка с несколькими фигурами
2. на экране еще имеются управляющие элементы (кнопки, текстовые поля)
3. щелчок по фигуре на картинке должен вызвать другой Activity.
Может подскажете как это реализовать?
так вроде как и ничего сложного что ле... просто повесить на картинку обработчик onClick и в теле метода вызвать другое активити. Но это если нужно слышать щелчек по всей картинке, если же только на отдельной части картинки то это уже проблема (первое что приходит в голову так это разбить картинку на несколько картинок, при том что картинка не сложная) ... как то так.
R.id.team
Политика на форуме запрещена

Аватара пользователя
krjakov
Сообщения: 11
Зарегистрирован: 23 июл 2012, 14:49

Re: Урок 9. Обработчики событий на примере Button.

Сообщение krjakov » 06 авг 2012, 16:23

а как найти программно кнопки под экраном!? и заблочить её!))) Ну актуально первое)
krja-krja

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 06 авг 2012, 16:41

krjakov писал(а):а как найти программно кнопки под экраном!? и заблочить её!))) Ну актуально первое)
что за кнопку ты имеешь в виду? те что на телефоне или в какой либо программе расположенны?
R.id.team
Политика на форуме запрещена

Аватара пользователя
krjakov
Сообщения: 11
Зарегистрирован: 23 июл 2012, 14:49

Re: Урок 9. Обработчики событий на примере Button.

Сообщение krjakov » 06 авг 2012, 17:06

rezak90 писал(а):
krjakov писал(а):а как найти программно кнопки под экраном!? и заблочить её!))) Ну актуально первое)
что за кнопку ты имеешь в виду? те что на телефоне или в какой либо программе расположенны?
которая находиться на телефоне("бэк" и "хоум"), как за них зацепиться? Сразу проблему обрисую, моё приложение почти написано, при запуске у него переход сначала в logo.xml, после тапа переход уже в main.xml (названия роли не играют) но после того как я нажал кнопку бэк (под экраном), оно меня кинуло обратно в logo, ещё раз нажал бэк, выкинуло на рабочий стол.
как такие ситуации обыграть? Как я понимаю заблочить кнопку "бэк" =)
krja-krja

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 9. Обработчики событий на примере Button.

Сообщение rezak90 » 06 авг 2012, 17:36

krjakov писал(а):
rezak90 писал(а):
krjakov писал(а):а как найти программно кнопки под экраном!? и заблочить её!))) Ну актуально первое)
что за кнопку ты имеешь в виду? те что на телефоне или в какой либо программе расположенны?
которая находиться на телефоне("бэк" и "хоум"), как за них зацепиться? Сразу проблему обрисую, моё приложение почти написано, при запуске у него переход сначала в logo.xml, после тапа переход уже в main.xml (названия роли не играют) но после того как я нажал кнопку бэк (под экраном), оно меня кинуло обратно в logo, ещё раз нажал бэк, выкинуло на рабочий стол.
как такие ситуации обыграть? Как я понимаю заблочить кнопку "бэк" =)
легко блочится:

Код: Выделить всё

@Override
	public boolean onKeyDown(int keyCode, KeyEvent event)
	{
		if (keyCode == KeyEvent.KEYCODE_BACK)
		{
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}

	@Override
	public boolean onKeyUp(int keyCode, KeyEvent event)
	{
		if (keyCode == KeyEvent.KEYCODE_BACK)
		{
			return true;
		}
		return super.onKeyUp(keyCode, event);
	}
R.id.team
Политика на форуме запрещена

Аватара пользователя
krjakov
Сообщения: 11
Зарегистрирован: 23 июл 2012, 14:49

Re: Урок 9. Обработчики событий на примере Button.

Сообщение krjakov » 06 авг 2012, 18:01

ух ты))) Спасибо)))
krja-krja

Ответить