Страница 5 из 11
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 сен 2013, 12:17
Ivlianna
Попыталась добавить третью кнопку по примеру... Как только я начинаю менять что-то сама, всё запарывается, приложение просто закрывается в эмуляторе((( Хотя при компиляции ошибок никаких нет.. Не понимаю где ошибка, вот код:
(выделила то что сама дописала)
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 сен 2013, 12:55
Mikhail_dev
Чую статья по работе с поиском ошибок средствами самого Андроида, стала актуальной как никогда...
Попыталась добавить третью кнопку по примеру..
Ну так в примере по другому. Вот вы торопитесь, тем самым сами себе отстреливая ногу глупыми ошибками.
Раз
[syntax=java5]public class MainActivity extends Activity implements OnClickListener {[/syntax]
Два
[syntax=java5]btnOk.setOnClickListener(this);[/syntax]
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 сен 2013, 13:18
Ivlianna
no-- писал(а):Чую статья по работе с поиском ошибок средствами самого Андроида, стала актуальной как никогда...
Попыталась добавить третью кнопку по примеру..
Ну так в примере по другому. Вот вы торопитесь, тем самым сами себе отстреливая ногу глупыми ошибками.
Раз
[syntax=java5]public class MainActivity extends Activity implements OnClickListener {[/syntax]
Два
[syntax=java5]btnOk.setOnClickListener(this);[/syntax]
Все заработало, спасибо!
Пересмотрела видео и увидела, что промелькнуло "implements OnClickListener", а в текстовой версии урока этого нет. Поэтому и ошибку выдавал и просил ставить скобки перед this)
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 сен 2013, 17:21
Foenix
mozilalvfg, NullPointerException - это самая легкая ошибка. Щелкай на строку ниже, где адрес в твоей программе at android.app.Activity.findViewById(Activity.java:1794) и затем в этой строке ищи использование переменных, которые не инициализированы (не созданы, а просто объявлены, или даже не объявлены) выше.
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 сен 2013, 17:23
Foenix
а я думаю, извините за офф, что кнопка с таким названием вообще нежизнеспособна.
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 13 сен 2013, 20:08
Konstantin63
Может ли eclipse автоматически генерировать код обработчиков как это делает Visual Studio
по двойному щелчку на выбранном элементе ?
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 13 сен 2013, 23:11
Mikhail_dev
Конечно может. Только как, с ходу не скажу. Добавьте интерфейс, наведите на него мышкой когда его эклипс подчеркнет, он должен предложить вариант вставки нереализованных методов, думаю там же можно и найти Hot Keys
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 14 сен 2013, 22:23
Foenix
по ctrl+пробел дорисовывает вроде
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 24 сен 2013, 02:21
Karpovich
Ребят, подскажите пожалуйста (очень выручите...что-то не могу я догнать) как последним методом (который не показан в уроке) правильно сделать все??? Если добавите скниры - еще лучше будет...нагляднее. Вот...=)
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 24 сен 2013, 13:29
Kruler
ищи атрибут кнопки "onClick" в граф. редакторе или допиши его в xml формы android:onClick="", в кавычках должен быть твой будущий обработчик, т.е. пишешь android:onClick="clicked" в xml, а в классе
public void clicked(View v){
//обработка нажатия на кнопку
}
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 29 сен 2013, 13:38
trew
Решил поэкспериментировать, создал новую кнопку
String tt;
...
case R.id.myBtn:
tt = Integer.toString(v.getId());
tvOut.setText(tt);
break;
Результат выражения: 2131230724
Теперь открываю файл R.java
public static final int myBtn=0x7f080004;
Вопрос: Из выражения switch (v.getId()) что за ID храниться в v.getId() ?
(просто любопытно, на практике это никогда наверно не понадобиться)
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 29 сен 2013, 13:54
rezak90
разные системы счисления, в R.java хранятся в 16-ти, а v.getId возвращает integer который есть в 10-ти системы счисления... переведи 0x7f080004 в десятичную систему и получишь 2131230724
вот поексперементируй
и в Си подобных языках используется префикс 0х
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 окт 2013, 09:58
Isaev
У меня вот этот момент:
Код: Выделить всё
public class MainActivity extends Activity implements OnClickListener {
работает только в таком виде
Код: Выделить всё
public class MainActivity extends Activity implements View.OnClickListener {
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 10 окт 2013, 10:40
anber
Isaev писал(а):У меня вот этот момент:
Код: Выделить всё
public class MainActivity extends Activity implements OnClickListener {
работает только в таком виде
Код: Выделить всё
public class MainActivity extends Activity implements View.OnClickListener {
Все дело в импортах
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 19 окт 2013, 08:08
Bringoff
dlnsk писал(а):
В результате эксперимента (android 2.2) обратил внимание что кнопка одинаково хорошо реагирует на оба способа, а вот TextView не желает реагировать на клик, если он привязан через android:onClick, но прекрасно реагирует через OnClickListener.
Я, конечно, слоу, но всё работает и через установку в Layout. Просто надо у TextView установить
? PROFIT!
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 06 ноя 2013, 18:18
Majard
Простите, пожалуйста, за совсем уж тупой вопрос, но ответьте кому не сложно...
в строчке public void onClick(View v) что значит View v? Что здесь есть v и почему v?
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 06 ноя 2013, 18:29
trew
Majard писал(а):Простите, пожалуйста, за совсем уж тупой вопрос, но ответьте кому не сложно...
в строчке public void onClick(View v) что значит View v? Что здесь есть v и почему v?
View - это любой элемент на Activity, его можно назвать ещё компонент (Button, TextView, EditText и т.д.)
View v , где v - это переменная (можно вместо "v" написать свою переменную, тогда далее в коде нужно будет её указывать).
Это по смыслу тоже самое, что в коде
Integer i;
Урок 4 - посмотрите там на изображения
http://startandroid.ru/ru/uroki/vse-uro ... jstva.html
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 06 ноя 2013, 22:34
Foenix
Majard писал(а):Простите, пожалуйста, за совсем уж тупой вопрос, но ответьте кому не сложно...
в строчке public void onClick(View v) что значит View v? Что здесь есть v и почему v?
а все остальные слова в этой строчке вам понятны?
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 07 ноя 2013, 06:16
Majard
Спасибо. Теперь понятно)))
Re: Урок 10. Оптимизируем реализацию обработчиков.
Добавлено: 17 ноя 2013, 14:28
StupIvan
Код: Выделить всё
package com.example.p0101_Listener;
import android.os.Bundle;
import android.app.Activity;
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 tvOut;
Button btnOk;
Button btnCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvOut = (TextView) findViewById(R.id.tvOut);
btnOk = (Button) findViewById(R.id.btnOk);
btnCancel = (Button) findViewById(R.id.btnCancel);}
OnClickListener oclBtn = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btnOk:
tvOut.setText("Нажата кнопка ОК");
break;
case R.id.btnCancel:
tvOut.setText("Нажата кнопка Cancel");
break;
}
}
};
btnOk.setOnClickListener(oclBtn);
btnCancel.setOnClickListener(oclBtn);
}
Выдает ошибку на строчках
btnOk.setOnClickListener(oclBtn);
btnCancel.setOnClickListener(oclBtn);
подчеркивает точку и oclBtn, помогите, в чем ошибка?