Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 17 июл 2019, 19:32

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 216 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 11  След.
Автор Сообщение
СообщениеДобавлено: 30 ноя 2012, 19:43 

Зарегистрирован: 30 ноя 2012, 19:40
Сообщений: 13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Меня интересует обработка нажатия через вариант с layout. Нужно просто указать android:onClick="%мойМетод%", реализовать его в коде, и все? Должен ли Activity в данном случае реализовывать интерфейс OnClickListener?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 дек 2012, 03:58 

Зарегистрирован: 14 май 2012, 16:18
Сообщений: 372
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
Нет не должен.
Единственное условие, сигнатура метода должна полностью совпадать.
public void %мойМетод% (View v){...}


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 дек 2012, 18:16 

Зарегистрирован: 30 ноя 2012, 19:40
Сообщений: 13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
AndreyI, спасибо, все отлично. Я где-то ошибся сначала, сразу не заработало, решил спросить.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 фев 2013, 13:32 

Зарегистрирован: 01 фев 2013, 15:10
Сообщений: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
AndreyI писал(а):
android:onClick="onClickSrat"
public void onClickStart(View v)


мощно))))))))


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 фев 2013, 20:01 

Зарегистрирован: 09 фев 2013, 19:57
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Привет, господа. Вот писал код по уроку,но он у меня не работает. Смотрю на него - не могу понять что не так. Мож кто метнет меткий глаз ?

Код: [ Загрузить ] [ Скрыть ]
  1. package com.example.multibutton; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.view.Menu; 
  6. import android.view.View; 
  7. import android.view.View.OnClickListener; 
  8. import android.widget.Button; 
  9. import android.widget.TextView; 
  10.  
  11.  
  12. public class MainActivity extends Activity { 
  13.  
  14.     TextView screenText; 
  15.     Button butOK; 
  16.     Button butCancel; 
  17.      
  18.     @Override 
  19.     protected void onCreate(Bundle savedInstanceState) { 
  20.         super.onCreate(savedInstanceState); 
  21.         setContentView(R.layout.main); 
  22.          
  23.         screenText = (TextView) findViewById(R.id.screenText); 
  24.         butOK = (Button) findViewById(R.id.butOK); 
  25.         butCancel = (Button) findViewById(R.id.butCancel); 
  26.     } 
  27.      
  28.     OnClickListener oclBtn = new OnClickListener() { 
  29.          
  30.         @Override 
  31.         public void onClick(View v) { 
  32.             switch (v.getId()) { 
  33.             case R.id.butOK: 
  34.                 screenText.setText(R.string.screenTextOK); 
  35.                 break; 
  36.             case R.id.butCancel: 
  37.                 screenText.setText(R.string.screenTextCancel); 
  38.                 break; 
  39.             } 
  40.         } 
  41.     }; 
  42.  
  43.     butOK.setOnClickListener(oclBtn); 
  44.     butCancel.setOnClickListener(oclBtn); 
  45.     }} 
  46.  
  47.     @Override 
  48.     public boolean onCreateOptionsMenu(Menu menu) { 
  49.         // Inflate the menu; this adds items to the action bar if it is present. 
  50.         getMenuInflater().inflate(R.menu.main, menu); 
  51.         return true; 
  52.     } 
  53.  


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 фев 2013, 20:19 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
выкладывайте код ошибки, у меня например мозг не способен компилировать исходники на лету.

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 фев 2013, 21:35 

Зарегистрирован: 09 фев 2013, 19:57
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
На самом деле просто подчеркивает точку и переменную кликера oclBtn. Буду дома - напишу что пишет пр наведении на красный крест.


-------------update

Syntax error on token "oclBtn", VariableDeclaratorId expected after this token MainActivity.java
Syntax error on token(s), misplaced construct(s) MainActivity.java
Syntax error on token "oclBtn", VariableDeclaratorId expected after this token MainActivity.java
Syntax error on token(s), misplaced construct(s) MainActivity.java


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 11 фев 2013, 22:38 

Зарегистрирован: 30 ноя 2012, 19:40
Сообщений: 13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
allexduuder писал(а):
На самом деле просто подчеркивает точку и переменную кликера oclBtn.


Вы запутались в фигурных скобках:
1. Метод onCreate у вас закрывается фигурной скобкой раньше, чем нужно. Удалите ее в строке 26.
2. В строке 45 одна лишняя скобка.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 фев 2013, 13:31 

Зарегистрирован: 21 фев 2013, 13:12
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите почему нельзя обрабатывать нажатие кнопок следующим образом:

btnOk.setOnClickListener(OnClickListener(onClick(tvOut.setText("Нажата кнопка OK"))));


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 фев 2013, 00:02 

Зарегистрирован: 22 фев 2013, 22:24
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем привет, иду по ступенькам ваших уроков и в каждый стараюсь дополнит что то от себя, что придумаю на своем предположение. По нажатию копки B1 у меня переходит на другой layout.testlayout, на котором есть кнопка B2, при нажатии которой у меня снова выполняется переход на layout.main. Прошу поправить меня тут, если я не полностью понял суть этого метода, думаю мне простительно как новичку.
Проблема в том что при присвоение обработчика кнопке B2 которая находится на втором layout.testlayout, в эмуляторе происходит ошибка еще при попытке запустить приложение, не доходя до выполнения этого события.

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. protected void onCreate(Bundle savedInstanceState) {
  2.                 super.onCreate(savedInstanceState);
  3.                 setContentView(R.layout.main);
  4.                 Button b1=(Button)findViewById(R.id.b1);
  5.                 Button b2=(Button)findViewById(R.id.b2);
  6.                 OnClickListener b11 = new OnClickListener()
  7.                 {
  8.                         public void onClick(View v)
  9.                         {
  10.                                 switch (v.getId())
  11.                                 {
  12.                                 case R.id.b1:
  13.                                
  14.                                 setContentView(R.layout.testlayout);
  15.                                 break;
  16.                                 case R.id.b2:
  17.                                
  18.                                 setContentView(R.layout.main);
  19.                                 break;
  20.                                
  21.                                 }
  22.                         }
  23.                 };
  24.                
  25.                 b1.setOnClickListener(b11);
  26.                 b2.setOnClickListener(b11);
  27.         }


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

Еще раз напомню что в коде нету ни какой ошибки.
Объясните в чем хитрость, у кого есть время, я пока пойду дальше по урокам. За ранее спасибо.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 фев 2013, 16:30 

Зарегистрирован: 25 фев 2013, 16:21
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
DIMAT писал(а):
Всем привет, иду по ступенькам ваших уроков и в каждый стараюсь дополнит что то от себя, что придумаю на своем предположение. По нажатию копки B1 у меня переходит на другой layout.testlayout, на котором есть кнопка B2, при нажатии которой у меня снова выполняется переход на layout.main. Прошу поправить меня тут, если я не полностью понял суть этого метода, думаю мне простительно как новичку.
Проблема в том что при присвоение обработчика кнопке B2 которая находится на втором layout.testlayout, в эмуляторе происходит ошибка еще при попытке запустить приложение, не доходя до выполнения этого события.

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

Еще раз напомню что в коде нету ни какой ошибки.
Объясните в чем хитрость, у кого есть время, я пока пойду дальше по урокам. За ранее спасибо.


Я сам новичок. Читаю уроки по порядку как и вы. Смею предположить что в layout.main не существует объект Button b2=(Button)findViewById(R.id.b2);. Вы этой строкой нашли его ид, но система его не создает для layout.main. Это как локальная переменная которая не видна из данного места.

Может конечно я не прав. Гуру сейчас укажут точнее причину.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 фев 2013, 16:33 

Зарегистрирован: 25 фев 2013, 16:21
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Вариант создания обработчика №3 очень похож на написание в VisualStudio в Visual Basic 6. Легко и понятно, как для машины (по скорости) не знаю, но для новичка однозначна проще.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 апр 2013, 09:12 

Зарегистрирован: 03 апр 2013, 11:45
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ребята я одного не понимаю. Зачем в этом и прошлом уроке обработчик событий создается в методе Create? Зачем его туда впихивать? Почему бы его не сделать просто внутри класса MainActivity?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 апр 2013, 10:17 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
ImNIK писал(а):
Ребята я одного не понимаю. Зачем в этом и прошлом уроке обработчик событий создается в методе Create? Зачем его туда впихивать? Почему бы его не сделать просто внутри класса MainActivity?


А зачем нам локальные переменные? Давайте все объявлять глобально!

Если мы используем обработчик событий только в методе onCreate, то и смысла его выводить за пределы метода нет.
Гуру поправят меня если я ошибаюсь)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 май 2013, 11:55 

Зарегистрирован: 11 май 2013, 17:54
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем привет, сразу скажу спасибо за уроки. У меня возникла проблема с последним и самым легким методом :) Суть такова: поставил на кнопку ОК метод "онклил", однако при нажатии в эмуляторе выскакивает ошибка: "The application EasyOnClick(ru.ru.easyonclick) has stopped unexpectedly. Please try again. Ошибок не показывает в окне программы, логи тоже ничего не пишут.
MainActivity
Код: [ Загрузить ] [ Скрыть ]
  1. package ru.ru.easyonclick; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.view.Menu; 
  6. import android.view.View; 
  7. import android.widget.TextView; 
  8.  
  9. public class MainActivity extends Activity { 
  10. TextView textView1; 
  11.  
  12.     @Override 
  13.     protected void onCreate(Bundle savedInstanceState) { 
  14.         super.onCreate(savedInstanceState); 
  15.         setContentView(R.layout.main); 
  16.         textView1 = (TextView) findViewById(R.id.textView1); 
  17.         } 
  18.     public void OnClickStart (View v) { 
  19.     textView1.setText("Her name is Alice"); 
  20.     } 
  21.     @Override 
  22.     public boolean onCreateOptionsMenu(Menu menu) { 
  23.         // Inflate the menu; this adds items to the action bar if it is present. 
  24.         getMenuInflater().inflate(R.menu.main, menu); 
  25.         return true; 
  26.     } 
  27.     } 


main.xml
Код: [ Загрузить ] [ Скрыть ]
  1. <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     xmlns:tools="http://schemas.android.com/tools" 
  3.     android:layout_width="match_parent" 
  4.     android:layout_height="match_parent" 
  5.     android:paddingBottom="@dimen/activity_vertical_margin" 
  6.     android:paddingLeft="@dimen/activity_horizontal_margin" 
  7.     android:paddingRight="@dimen/activity_horizontal_margin" 
  8.     android:paddingTop="@dimen/activity_vertical_margin" 
  9.     tools:context=".MainActivity" > 
  10.  
  11.     <TextView 
  12.         android:id="@+id/textView1" 
  13.         android:layout_width="match_parent" 
  14.         android:layout_height="wrap_content" 
  15.         android:text="Large Text" 
  16.         android:textAppearance="?android:attr/textAppearanceLarge" /> 
  17. <TableRow 
  18.         android:id="@+id/tableRow1" 
  19.         android:layout_width="wrap_content" 
  20.         android:layout_height="wrap_content" > 
  21.  
  22.             <Button  
  23.             android:id="@+id/buttonOK" 
  24.             android:layout_width="wrap_content" 
  25.             android:layout_height="wrap_content" 
  26.             android:layout_weight="4" 
  27.             android:onClick="onClickStart" 
  28.             android:text="OKEY" /> 
  29.          
  30.         <Button 
  31.             android:id="@+id/buttonCANCEL" 
  32.             android:layout_width="wrap_content" 
  33.             android:layout_height="wrap_content" 
  34.             android:layout_weight="6" 
  35.             android:text="CANCEL" /> 
  36. </TableRow> 
  37.  
  38.  
  39. </TableLayout> 

Буду благодарен если кто скажет в чем проблема.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 май 2013, 11:58 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
в xml onClickStart а в код ОnClickStart, чувствуете разницу?

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 май 2013, 16:32 

Зарегистрирован: 11 май 2013, 17:54
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
в xml onClickStart а в код ОnClickStart, чувствуете разницу?

Спасибо большое за помощь. Да, действительно разница чувствуется. Еще раз спасибо!


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 14 июн 2013, 16:49 
Аватар пользователя

Зарегистрирован: 10 июн 2013, 15:05
Сообщений: 584
Откуда: UA
Благодарил (а): 14 раз.
Поблагодарили: 74 раз.
x.dr, я все видел :lol:

_________________
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 июн 2013, 21:30 
Аватар пользователя

Зарегистрирован: 18 июн 2013, 21:34
Сообщений: 7
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
У АлександрБ батон Cancel без строки в main.xml => android:onClick="onClickStart" работать не будет.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 июн 2013, 14:14 

Зарегистрирован: 23 июн 2013, 14:06
Сообщений: 4
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
подскажите, почему у меня очень часто показывает что я неправильно написал код? и не помогает ctrl+shift+O, каждый раз такое, хотя я делал всё строго как на видео и на сайте


Вложения:
Screenshot-738.jpg
Screenshot-738.jpg [ 213.52 KiB | Просмотров: 7269 ]
Screenshot-737.jpg
Screenshot-737.jpg [ 211.66 KiB | Просмотров: 7269 ]
Screenshot-739.jpg
Screenshot-739.jpg [ 211.97 KiB | Просмотров: 7269 ]
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 216 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 11  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB