Помогите разобраться с callback interface

191
08 мая 2022, 18:30

Приветствую и благодарю за проявленный интерес к вопросу.

Имеется Fragment и Activity

public class fragment_qr extends Fragment {
public interface IFragment {
    public void onDecoded(String string);
}
public IFragment iFragment;

далее внутри любого абстрактного события во фрагменте я создаю обращение к интерфейсу куда передаю значение localString

iFragment.onDecoded(localString);

В теле активити же я применяю интерфейс к классу

public class MainActivity extends BaseActivity implements IFragment {

и добавляю требуемый метод

@Override
public void onDecoded(String string) {
    printSomething(string);
}

При отладке вылетает

Attempt to invoke interface method 'void *.fragments.fragment_qr$IFragment.onDecoded(String)' on a null object reference

Таки только начинаю разбираться, прошу помочь советом.

Answer 1

В тело фрагмента необходимо добавить override метод

@Override
public void onAttach(@NonNull Context context) {
    super.onAttach(context);
    try {
        iFragment= (IFragment) context;
    } catch (ClassCastException e) {
        throw new ClassCastException(context.toString() + " must implements IFragment");
    }
}
READ ALSO
Всем привет, помогите с установкой node-sass

Всем привет, помогите с установкой node-sass

https://webdesign-masterru/blog/tools/2016-06-04-sass

222
заполнение django формы

заполнение django формы

Имеется вот такое поле в моей модели:

147
Переход между страничками на сайте

Переход между страничками на сайте

Я только не давно начал вливаться в сферу веб разработки, вот стoлкнулся с таким нюансомВ большинстве современных сайтов присутствует деление...

228
Не работают кнопки

Не работают кнопки

у меня есть парсер парсит строку с данным и есть на каждом кнопка, на кнопке у меня id="unban" и так на каждом, хочу нажать на 1 строку код работает...

197