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

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

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

Сообщение KamiSempai » 22 авг 2014, 11:06

Федор писал(а):лююююди тут живые есть ?
Есть, но ваш вопрос настолько элементарный, что, видимо, всем влом отвечать на него.
По экстперементируйте, может чего получится. По другому программированию не научиться.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 22 авг 2014, 11:35

я хочу чтобы по нажатию кнопки изменялся TextView не на одну фразу а на несколько
меняем
textView.setText("Одна фраза");
на
меняем textView.setText("Одна фраза. Две фразы. Три фразы. Четыре фразы и запятая, пятая фраза и точка. \n Фраза на новой строке");

Федор
Сообщения: 7
Зарегистрирован: 18 авг 2014, 14:57

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

Сообщение Федор » 22 авг 2014, 14:15

мне не надо чтобы после нажатия оставалась видна первая фраза и к ней плюсовалась вторая со след строки мне надо чтобы вторая заменяла первую

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 22 авг 2014, 14:31

А я о чем? Вот как раз setText - в переводе означает "изменить текст"
А чтобы текст добавлялся, надо делать textView.append

Федор
Сообщения: 7
Зарегистрирован: 18 авг 2014, 14:57

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

Сообщение Федор » 22 авг 2014, 14:33

textView1.setText("random1. n\random2");
ну вот если я делаю вот так он мне пишет просто два выражения друг за другом в строчку

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 22 авг 2014, 14:53

Что что указали в кавычках, то и написал. Надо вызывать просто в нужные вам моменты этот самый setText. Сначала
textView1.setText("random1");
потом
textView1.setText("random2");

Федор
Сообщения: 7
Зарегистрирован: 18 авг 2014, 14:57

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

Сообщение Федор » 22 авг 2014, 15:01

извини пожалуйста но,я не понимаю не мог бы ты написать пример 3 фразы скажем что я должен вписать в слушатель потому что я уже и так и сяк и пытался два слушателя прикрутить че ток не делал

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 22 авг 2014, 15:19

У вас в слушателе должно быть что-то типа этого
textView1.setText("моя строка");

дальше сделайте генератор рандомных строк, вот к примеру метод
[syntax=java5]
private String[] myStrings = new String[] {"Моя строка 1", "Моя строка 2",
"Моя строка 3", "Моя строка 4", "Моя строка 5",
"Моя строка 6", "Моя строка 7", "Моя строка 8", "Моя строка 9", "Моя строка 10"};

public String getRandomString() {
Random r = new Random();
int randomNumber = r.nextInt(9);
return myStrings[randomNumber];
}
[/syntax]
а после вызывайте этот метод внутри того места, где надо изменить текст
textView1.setText(getRandomString());

Федор
Сообщения: 7
Зарегистрирован: 18 авг 2014, 14:57

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

Сообщение Федор » 22 авг 2014, 15:23

вроде въехал сейчас попробую

Федор
Сообщения: 7
Зарегистрирован: 18 авг 2014, 14:57

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

Сообщение Федор » 22 авг 2014, 15:54

о боже оно работает )))спасибо тебе дружище лови +в репу

Аватара пользователя
Тихон Котов
Сообщения: 15
Зарегистрирован: 21 авг 2014, 13:13

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

Сообщение Тихон Котов » 22 авг 2014, 20:05

Создал приложение для 9-го урока.
Скопировал текст main.xml.
Вставил текст из буфера.
Сохранил приложение.
...
Компиляция невозможна из-за появившейся ошибки - "AndroidManifest.xml file missing!"...
...
Файл AndroidManifest.xml в проекте присутствует...

Эта ошибка стала появляться систематически - начиная с 8-го урока... Помогите, что с этим делать??
Спасибо...
______________________
Кажется разобрался... :lol:

Открыл AndroidManifest.xml, в окошке Install location - пусто. Выбрал для него - auto.
Ошибка пропала, проект скомпилировался и заработал...

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 22 авг 2014, 22:20

Ну вы смотрите что за ошибка там. Он подчеркивает красным цветом её. Если у вас эклипс, то зайдите в лог или Warning.

For users with Eclipse 3.X and PDE installed : Window -> Show View -> Other -> PDE Runtime -> Error Log
For users with Eclipse 3.4 : Window -> Show View -> General -> Error Log
For every users : Help -> About Eclipse -> Configuration Details -> View Error Log
For every users : the location of the file is : “workspaceLoaction/.metadata/.log”

AlexKem
Сообщения: 9
Зарегистрирован: 27 авг 2014, 08:59

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

Сообщение AlexKem » 27 авг 2014, 13:38

У меня вопрос. Почему в команде

tvOut = (TextView) findViewById(R.id.tvOut);

пишется параметр именно R.id.tvOut, а не скажем id.tvOut? Откуда эта переменная или объект, что это и где оно объявлено и всегда ли вот так через R?

AlexKem
Сообщения: 9
Зарегистрирован: 27 авг 2014, 08:59

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

Сообщение AlexKem » 27 авг 2014, 14:01

Написал код все как в уроке, но Eclipse матерится чуть ли не на каждую строку. Подскажите, в чем проблема, вот скрин
Вложения
скрин проблемы.png
скрин проблемы.png (110.74 КБ) 13093 просмотра

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

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

Сообщение klblk » 27 авг 2014, 15:02

0) класс R лежит в папке gen и генерируется автоматически на основе ваших ресурсов (xml).
1) android 4.4W оно вам нужно?
2) ctrl+shift+o

slydog
Сообщения: 1
Зарегистрирован: 29 авг 2014, 21:49
Откуда: Украина

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

Сообщение slydog » 30 авг 2014, 00:52

Всем привет! Огромное СПАСИБО авторам уроков!!!!
AlexKem писал(а):Написал код все как в уроке, но Eclipse матерится чуть ли не на каждую строку. Подскажите, в чем проблема, вот скрин

Были похожие проблемы...
Сделал проект заново, внимательно начал вставлять код, и Shift+Ctrl+O - помогло, всё заработало...

klblk писал(а):1) android 4.4W оно вам нужно?

Тут дело в том, наверное, что когда ставишь текущую версию JDK (jre-8u20) и создаешь проект, Eclipse в строке Compile With выдает только версии API19 и API20.
Спасибо за подсказки, помогло.

wolfak
Сообщения: 13
Зарегистрирован: 13 сен 2014, 11:15

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

Сообщение wolfak » 13 сен 2014, 11:18

Здравствуйте. Почему то при создании обработчика пишет ошибку и закрывает приложение.
Вот код ошибок:
09-13 08:10:04.735: E/Trace(632): error opening trace file: No such file or directory (2)
09-13 08:10:06.244: D/AndroidRuntime(632): Shutting down VM
09-13 08:10:06.264: W/dalvikvm(632): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
09-13 08:10:06.294: D/dalvikvm(632): GC_CONCURRENT freed 245K, 9% free 7475K/8199K, paused 39ms+6ms, total 141ms
09-13 08:10:06.294: D/dalvikvm(632): WAIT_FOR_CONCURRENT_GC blocked 27ms
09-13 08:10:06.294: E/AndroidRuntime(632): FATAL EXCEPTION: main
09-13 08:10:06.294: E/AndroidRuntime(632): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mycitychat/com.example.mycitychat.MainActivity}: java.lang.NullPointerException
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.ActivityThread.access$600(ActivityThread.java:130)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.os.Handler.dispatchMessage(Handler.java:99)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.os.Looper.loop(Looper.java:137)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.ActivityThread.main(ActivityThread.java:4745)
09-13 08:10:06.294: E/AndroidRuntime(632): at java.lang.reflect.Method.invokeNative(Native Method)
09-13 08:10:06.294: E/AndroidRuntime(632): at java.lang.reflect.Method.invoke(Method.java:511)
09-13 08:10:06.294: E/AndroidRuntime(632): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-13 08:10:06.294: E/AndroidRuntime(632): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-13 08:10:06.294: E/AndroidRuntime(632): at dalvik.system.NativeStart.main(Native Method)
09-13 08:10:06.294: E/AndroidRuntime(632): Caused by: java.lang.NullPointerException
09-13 08:10:06.294: E/AndroidRuntime(632): at com.example.mycitychat.MainActivity.onCreate(MainActivity.java:51)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.Activity.performCreate(Activity.java:5008)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
09-13 08:10:06.294: E/AndroidRuntime(632): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
09-13 08:10:06.294: E/AndroidRuntime(632): ... 11 more
Вот java код:

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

        final Button button1 = (Button)findViewById(R.id.toreg);
        //final Button tologin = (Button)findViewById(R.id.tologin);

        // устанавливаем один обработчик для всех кнопок
        button1.setOnClickListener(new OnClickListener() {
        	@Override
        	public void onClick(View v) {
        		Toast.makeText(MainActivity.this, "Нажата кнопка Reg", Toast.LENGTH_LONG).show();
        		
        	}
        });
Уже несколько дней не могу понять в чем проблема. Кнопку называл так же как и ид кнопки, но ничего не меняется.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 13 сен 2014, 12:29

at com.example.mycitychat.MainActivity.onCreate(MainActivity.java:51)
Ошибка (Caused by: java.lang.NullPointerException) в 51 строке

Я не знаю какая у вас строка 51-ая

wolfak
Сообщения: 13
Зарегистрирован: 13 сен 2014, 11:15

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

Сообщение wolfak » 13 сен 2014, 13:25

Mikhail_dev писал(а):at com.example.mycitychat.MainActivity.onCreate(MainActivity.java:51)
Ошибка (Caused by: java.lang.NullPointerException) в 51 строке

Я не знаю какая у вас строка 51-ая
Эта строка:
button1.setOnClickListener(new OnClickListener() {

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 13 сен 2014, 13:26

Ну значит у вас кнопка не инициализировалась, значит
final Button button1 = (Button)findViewById(R.id.toreg);
не нашлась она. Данного ресурса (R.id.toreg) в вашем XML файле нет

Ответить