2013-09-05 4 views
2

Я пытаюсь реализовать 2 интерфейсаКак реализовать унаследованный абстрактный метод?

public class SecondScreenActivity extends Activity implements 
OnCheckedChangeListener, View.OnClickListener { 

но OnCheckedChangeListener я получаю эту ошибку

The type SecondScreenActivity must implement the inherited abstract method 
CompoundButton.OnCheckedChangeListener.onCheckedChanged(CompoundButton, boolean) 

Как я могу реализовать унаследованный абстрактный метод? Я никогда не встречал этого раньше ...

+2

Вы должны сделать некоторые Java/OOP ... – gunar

ответ

2

Вы расширили класс, который имеет абстрактные методы (методы без тела), чтобы расширить этот класс, вы должны реализовать методы.

Чтобы реализовать метод, вы должны называть его таким же образом, с теми же параметрами, или нажмите ctrl + 1 на строке ошибки в eclipse и выберите реализовать абстрактные методы.

1

Чтобы реализовать метод, добавьте его в свой класс с той же сигнатурой. Здесь нам нужен метод onCheckedChange с параметрами CompoundButton и boolean. Таким образом, добавить метод, такие как:

@Override 
public void onCheckedChanged(CompoundButton button, boolean checked){ 
    //your code 
} 
+2

домашние задания один инструмент, чтобы помочь убедиться, что у вас есть соответствующие параметры и правописание предварить метод с '@ Override' , Это говорит компилятору, что вы пытаетесь переопределить или реализовать метод, и он ищет некоторые распространенные ошибки. – user949300

+1

Множественные маркеры на этой линии \t - Синтаксис ошибки на лексемы «CompoundButton», VariableDeclaratorId ожидается после этого маркера \t - ошибка синтаксиса на лексемы «логическое значение», VariableDeclaratorId ожидается после того, как этот маркер \t - Метод onCheckedChanged() типа SecondScreenActivity должен переопределить или реализовать супертип \t способ –

+0

большое спасибо. –