Я пытаюсь запустить событие, когда целочисленное значение обновляется, но оно не работает. Вот код, я использую:Пользовательский прослушиватель Android для события
Декларирование Обычай Слушатель
public class fieldactivity extends AppCompatActivity implements View.OnClickListener {
OnModeUpdate modeupdate; //Create custom listener for mode update
int mode = 1;
Режим обновления кода
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fieldsignals);
Button button = (Button) findViewById(R.id.mode_rotate_button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case(R.id.rotate_button):
mode += 1;
modeupdate.onEvent(); //Fire Custom Lisentener - Fails On This Line
}
}
код интерфейса
public interface OnModeUpdate {
//BreakPoint here, but is never reached
void onEvent();
}
public void setModeupdate(OnModeUpdate eventListener) {
modeupdate = eventListener;
}
Ошибки я получаю:
java.lang.NullPointerException: Попытка вызвать метод интерфейса Пустоты alveare.com.plcsignalconverter.fieldactivity $ OnModeUpdate.onEvent() ' на нулевой ссылке на объект
Есть ли что-то, что мне не хватает?
Вы никогда не инициализировали 'modeupdate'. Вы можете посмотреть [этот ответ] (http://stackoverflow.com/questions/34710809/is-that-a-right-way-of-using-interface-callback/34711257#34711257), чтобы получить представление о том, как образцовые работы. – Onik
u должен реализовать OnModeUpdate в какой-либо деятельности и определить, что делать в методе onEvent() – uguboz
Вы никогда не называли 'setModeupdate', и вы никогда не реализовывали интерфейс –