Интерфейс не вызывает фрагмент - PullRequest
0 голосов
/ 09 ноября 2018

Я создал интерфейс в общем классе. Я вызвал функцию интерфейса в Activity. Я хочу реализовать интерфейсный метод во фрагменте.

это интерфейс в Utility.java

 public interface CloseMenu{
    public void closemenu(View view);
}

Вот как я называю этот интерфейс в Activity: Объявление:

 public Utility.CloseMenu closeMenu;

инициализация при создании:

  closeMenu= (Utility.CloseMenu) this;

интерфейс вызова:

closeMenu.closemenu(view);

во фрагменте класса я реализовал этот интерфейс:

 @Override
    public void closemenu(View view) {
    view=mLoginFragmentView;
    slideDown(view);
   }

Но я получаю крах как:

java.lang.RuntimeException: Невозможно начать действие в com.zinedroid.hospitalmanagement.Common.Utility $ CloseMenu

Может кто-нибудь, пожалуйста, помогите мне?

1 Ответ

0 голосов
/ 09 ноября 2018

Я решил проблему. Closemenu должен быть инициализирован в onAttach фрагмента, который реализует фрагмент.

 @Override
public void onAttach(Activity activity){
    super.onAttach(activity);
    activity = getActivity();

    ((HomeActivity)activity).closeMenu = this;
}
...