Обработчик кнопки OnClick не может решить, нужно ли или что он хочет переопределить - PullRequest
1 голос
/ 27 января 2012

Я могу получить следующее для компиляции (закомментировав "@Override"):

Button buttonAuthorizeUsers = (Button) findViewById(R.id.buttonAuthorizeUsers);
buttonAuthorizeUsers.setOnClickListener(new OnClickListener() {
    //@Override
    public void onClick(View v) {
        Intent configure = new  Intent(OnDemandAndAutomatic_Activity.this, Configure_Activity.class);  
        OnDemandAndAutomatic_Activity.this.startActivity(configure); 
    }
  });

... но это приводит к сбою моего приложения.Когда я комментирую, он работает нормально (но у меня нет обработчика кнопок).

Должен ли класс иметь "Implements OnClickListener"?Кажется, что я должен, но он компилируется без него, и не будет компилироваться с ним (если я закомментирую «переопределение» или нет, он несчастен).

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Не удалять @Override.просто замените

setOnClickListener(new OnClickListener() {

на setOnClickListener(new View.OnClickListener() {

, а также замените implements OnClickListener на implements View.OnClickListener в строке объявления класса.

сохраните и затем скомпилируйте.Ваша проблема будет решена.

2 голосов
/ 27 января 2012

согласно моему предложению, удаление строки @Override не очень хорошо.вам нужно перейти на версию JDK в вашем затмении, тогда вы не получите таких ошибок.Для этого выполните следующие действия:

Щелкните правой кнопкой мыши свой проект и выберите «Свойства».

Затем в левой части выберите «Компилятор Java» и выберите версию установленного JDK.Если он уже выбран, отмените выбор и попробуйте.

...