Урок 9. Обработчики событий на примере Button.
Re: Урок 9. Обработчики событий на примере Button.
в xml у тебя кнопки перепутаны.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
-
- Сообщения: 7
- Зарегистрирован: 15 ноя 2014, 03:15
Re: Урок 9. Обработчики событий на примере Button.
Спасибо! Все верно. Исправил, заработало! + в благодарность летит.Foenix писал(а):в xml у тебя кнопки перепутаны.
Re: Урок 9. Обработчики событий на примере Button.
По коду вроде всё нормально. Глянь в лэйаут фале, может там ИД кнопок попутаны.Vladimir991 писал(а):Спасибо урок понятен, все работает, но немножко наоборот кнопки работают. Нажимаешь на кнопку Cancel, пишет Нажата кнопка OK и наоборот, нажимаешь на кнопку OK, пишет нажата кнопка Cancel. Код перелопатил, все вроде верно написано, но что-то, где-то всетаки не так. Направьте в нужном направлении пожалуйста. Вот скрин кода:
Re: Урок 9. Обработчики событий на примере Button.
Спасибо за урок!
Такой вопрос.
у меня задача: два текста и одна кнопка. нужно менять текст туда-сюда по нажатию кнопки сколько угодно раз. Как это грамотно прописать в обработчике?
сейчас код выглядит так
[syntax=java5] public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_read:
textView1.setText(R.string.act3_1_v);
break;[/syntax]
R.string.act3_1_v нужно менять на R.string.act3_1 и обратно.
Такой вопрос.
у меня задача: два текста и одна кнопка. нужно менять текст туда-сюда по нажатию кнопки сколько угодно раз. Как это грамотно прописать в обработчике?
сейчас код выглядит так
[syntax=java5] public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_read:
textView1.setText(R.string.act3_1_v);
break;[/syntax]
R.string.act3_1_v нужно менять на R.string.act3_1 и обратно.
Спасибо за уроки!
Re: Урок 9. Обработчики событий на примере Button.
1)Самое простое это прописать проверку (код не тестил, просто описал логику):isachenko писал(а):Спасибо за урок!
Такой вопрос.
у меня задача: два текста и одна кнопка. нужно менять текст туда-сюда по нажатию кнопки сколько угодно раз. Как это грамотно прописать в обработчике?
сейчас код выглядит так
[syntax=java5] public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_read:
textView1.setText(R.string.act3_1_v);
break;[/syntax]
R.string.act3_1_v нужно менять на R.string.act3_1 и обратно.
[syntax=java5]
if(textView1.getText().equals(getResources().getString(R.string.act3_1) {
textView1.setText(R.string.act3_1_v);
} else if(textView1.getText().equals(getResources().getString(R.string.act3_1_v) {
textView1.setText(R.string.act3_1);
}[/syntax]
2) Но я бы вынес обработчик в отдельный класс. А в класс добавил флаг, который следит за текущим текстом(код не тестил, просто описал логику):
[syntax=java5]
class MainActivity extend Activity{
TextView textView1; //обязательно объявляем ТекстВью как поле класса, чтобы внутренний класс имел к нему доступ
@Override
protected void onCreate(Bundle savedInstanceState) {
//..............
textView1 = (TextView) findViewById(R.id.textView1); //а тут уже только инициализируем
OnClick onClick = new OnClick(); //создаем объект типа OnClick, который реализует интерфейс обработчика
btn.setOnClickListener(onClick); //присваиваем это объект кнопке
//..............
}
private class OnClick implements OnClickListener {
private int currentText = R.string.act3_1; //тут нужно указать первоначальное значение (либо id текста, если в TextView уже используется один из нужных текстов, либо 0, если что-то другое) (Если сразу указали id, то блок default в switch можно опустить)
@Override
public void onClick(View v) {
switch (currentText ){
case R.string.act3_1:
textView1.setText(R.string.act3_1_v);
currentText = R.string.act3_1_v;
break;
case R.string.act3_1_v:
textView1.setText(R.string.act3_1);
currentText = R.string.act3_1;
break;
default: //если текст в TextView изначально другой, то тут можно указать какой он будет при первом нажатии(эту секцию можно удалить, если первоначальное значение уже было id одно из текста.)
textView1.setText(R.string.act3_1);
currentText = R.string.act3_1;
break;
}
}
}[/syntax]
Re: Урок 9. Обработчики событий на примере Button.
здравствуйте в создании проекта в меню compile with
не могу указать андроид как в уроке версии 2.3.3
я думаю по етому в конце не запускаетса програма и показивает ошибки.
не могу указать андроид как в уроке версии 2.3.3
я думаю по етому в конце не запускаетса програма и показивает ошибки.
- Вложения
-
- ошибка.jpg (222.17 КБ) 13831 просмотр
Re: Урок 9. Обработчики событий на примере Button.
ну в манифесте поставь, какие проблемы
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 9. Обработчики событий на примере Button.
Как раз таки вы его уже указали, в min sdk И target sdk. А compile sdk выберите 19
Re: Урок 9. Обработчики событий на примере Button.
здравствуйте у меня проекте такие ошибки :
как их исправить ?
проект не запускаетса пишет исправте ошибки
ошибка под номером 5,6 это не соответствие с тем что показано в уроке но вибрать нужное немогу, нету в випадающем списке
№ 7([2014-12-23 15:11:53 - P0091_OnClickButtons] D:\android\workspace\appcompat_v7\res\values-v21\themes_base.xml:191: error: Error: No resource found that matches the given name: attr 'android:colorPrimaryDark'.
[2014-12-23 15:11:53 - P0091_OnClickButtons]
)
как их исправить ?
проект не запускаетса пишет исправте ошибки
ошибка под номером 5,6 это не соответствие с тем что показано в уроке но вибрать нужное немогу, нету в випадающем списке
№ 7([2014-12-23 15:11:53 - P0091_OnClickButtons] D:\android\workspace\appcompat_v7\res\values-v21\themes_base.xml:191: error: Error: No resource found that matches the given name: attr 'android:colorPrimaryDark'.
[2014-12-23 15:11:53 - P0091_OnClickButtons]
)
- Вложения
-
- ошибка2.jpg (603.72 КБ) 13821 просмотр
Re: Урок 9. Обработчики событий на примере Button.
для проекта appcompat_v7 поставте в свойствах Android 5.0 (api 21)
Re: Урок 9. Обработчики событий на примере Button.
Подскажите, в этом примере мы сделали так что при нажатие на Button в TextView появляется надпись, нажимаем на другой Button появляется другая надпись. Как сделать так что бы при нажатии на Button в TextView появлялась надпись, а после нажатия на другой Button к старой надписи прибавлялась новая.
Re: Урок 9. Обработчики событий на примере Button.
textView.append(.....);
Re: Урок 9. Обработчики событий на примере Button.
Здравствуйте, делаю пример данного урока в android studio, он у меня ругается на OnClickListener, вот скрин:
Не понимаю, что не так?
Не понимаю, что не так?
Re: Урок 9. Обработчики событий на примере Button.
bb.setOnClickListener( и здесь уже newOnClickListener (){rilax писал(а):Здравствуйте, делаю пример данного урока в android studio, он у меня ругается на OnClickListener, вот скрин:
Не понимаю, что не так?
бла бла бла
});
P.S. для импорта помести курсор на слово и alt+enter
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
- Сообщения: 6
- Зарегистрирован: 07 янв 2015, 23:08
Re: Урок 9. Обработчики событий на примере Button.
ребят, нужна помощь. что не так?
- Вложения
-
- Снимок.PNG (18.06 КБ) 13724 просмотра
-
- Снимок.JPG (59.52 КБ) 13724 просмотра
-
- Сообщения: 6
- Зарегистрирован: 07 янв 2015, 23:08
Re: Урок 9. Обработчики событий на примере Button.
с двумя ошибками разобрался, ктрл+шифт+О оказывается не работал, вручную импортировал
-
- Сообщения: 1
- Зарегистрирован: 12 янв 2015, 22:38
Re: Урок 9. Обработчики событий на примере Button.
import android.content.DialogInterface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ExpandableListView;
import android.widget.TextView;
public class StartActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
final TextView tvOut = (TextView) findViewById(R.id.tvOut);
Button btnStart = (Button) findViewById(R.id.btnStart);
Button btnCancel = (Button) findViewById(R.id.btnCancel);
View.OnClickListener oclBtnStart = new View.OnClickListener() {
@Override
public void OnClick(View v) {
tvOut.setText("Нажата кнопка Старт");
}
};
}
Ребята, помогите. Ругается на синее OnClickListener (что он должен быть объявлен абстрактным или применяться к методу OnClick), @override конфликтует с верхним (красным, но при попеременном удалении результата не дает).
PS. Урок идет в эклипсе, я делаю в студии ( вроде все импортировал). В чем проблема?
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ExpandableListView;
import android.widget.TextView;
public class StartActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
final TextView tvOut = (TextView) findViewById(R.id.tvOut);
Button btnStart = (Button) findViewById(R.id.btnStart);
Button btnCancel = (Button) findViewById(R.id.btnCancel);
View.OnClickListener oclBtnStart = new View.OnClickListener() {
@Override
public void OnClick(View v) {
tvOut.setText("Нажата кнопка Старт");
}
};
}
Ребята, помогите. Ругается на синее OnClickListener (что он должен быть объявлен абстрактным или применяться к методу OnClick), @override конфликтует с верхним (красным, но при попеременном удалении результата не дает).
PS. Урок идет в эклипсе, я делаю в студии ( вроде все импортировал). В чем проблема?
-
- Сообщения: 7
- Зарегистрирован: 07 ноя 2012, 16:43
- Контактная информация:
Re: Урок 9. Обработчики событий на примере Button.
У меня импорт выглядит так:
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
это позволяет не писать каждый раз View в таких местах:
View.OnClickListener oclBtnStart = new View.OnClickListener()
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
это позволяет не писать каждый раз View в таких местах:
View.OnClickListener oclBtnStart = new View.OnClickListener()
Re: Урок 9. Обработчики событий на примере Button.
Совсем непонятный урок (8 тоже). Использую андроид студио