2016-02-25 3 views
0

Эй, ребята, я новичок в Android-разработчике Android и для проекта, я должен реализовать слушателя для кнопки. Но, к сожалению, он не может обнаружить кнопку, я думаю. Вот код Java:Реализация слушателя Android-кнопок

public class Touch extends AppCompatActivity implements OnTouchListener,OnClickListener { 


private button boutonCompteur = null; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 

    super.onCreate(savedInstanceState); 
    setContentView(R.id.Compteur); 
    boutonCompteur = (button) findViewById(R.id.Compteur); 
    boutonCompteur.setOnTouchListener(this); 
    boutonCompteur.setOnClickListener(this); 

} 

@Override 
public boolean onTouch(View v, MotionEvent event) 
{ 
    return true; 
} } 

и вот XML:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="appuyez ici pour compter votre nombre de touch" 
    android:id="@+id/Compteur" 
    android:height="130dp" 
    android:textColor="#1818e3" 
    android:textColorHighlight="#cd5555" 
    android:textSize="22dp" 
    android:textStyle="italic" 
    android:layout_marginTop="150dp" 
    android:layout_alignParentStart="true" /> 

Спасибо за ваши ответы :)

+1

Вам не нужно добавлять кнопки onTouch и onClick к кнопке. просто используйте onClick –

+0

Попробуйте следующее: http://stackoverflow.com/questions/25803727/android-setonclicklistener-method-how-does-it-work (setOnClickListner); или это, из официальных документов: http://developer.android.com/reference/android/widget/Button.html – KickingLettuce

+0

Спасибо за ваши ответы, это было действительно полезно! Я узнал все благодаря вам, ребята :) – Matnako

ответ

2

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

  1. Вам нужен макет для вашего деятельность и это не то же самое, что кнопка
  2. Вам нужно найти кнопку в макете, то есть odne по идентификатору, который вы использовали в XML-файле, и не совпадает с макетом!
  3. вам нужно установить Rigth слушателя, чтобы получить OnClick, андроид имеет для что OnClickListener интерфейса кнопка
  4. слова в скобках является отливкой (Android будет пытаться преобразовать что-то в класс, поэтому класс является класс, а не имя вашей переменной)
  5. весь код, который вы пишете внутри onClick, - это то, что будет выполнено после нажатия кнопки.

enter image description here


Заключение

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

+0

Спасибо за ваш ответ, это было очень полезно, и я узнал все благодаря вам :) – Matnako

0

Удалить onTouch, используйте onClick только.

Удалить эту линию

boutonCompteur.setOnTouchListener(this); 

и изменить public boolean onTouch(View v, MotionEvent event) к

public void onClick(View v) { 
      // Do whatever you want 
     } 

А также изменить private button boutonCompteur = null; к private Button boutonCompteur;. (Я не думаю, что вам нужно добавить =null при создании объявления кнопки).

+1

спасибо за ваш ответ. Я не читал все курсы андроидов, поэтому я не знал, что мне просто нужно onClick. В любом случае, еще раз спасибо за столь быстрый ответ: D – Matnako

Смежные вопросы