gpt4 book ai didi

android - 接口(interface)未在 fragment 中调用

转载 作者:行者123 更新时间:2023-11-29 23:27:56 26 4
gpt4 key购买 nike

我在公共(public)类中创建了一个接口(interface)。我已经在Activity中调用了接口(interface)函数,我想在fragment中实现接口(interface)方法。

这是Utility.java中的接口(interface)

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

这就是我在 Activity 中调用此接口(interface)的方式:声明:

 public Utility.CloseMenu closeMenu;

初始化onCreate:

  closeMenu= (Utility.CloseMenu) this;

调用接口(interface):

closeMenu.closemenu(view);

在 fragment 类中我实现了这个接口(interface):

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

但我正在崩溃:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zinedroid.hospitalmanagement/com.zinedroid.hospitalmanagement.Activity.HomeActivity}: java.lang.ClassCastException: com.zinedroid.hospitalmanagement.Activity.HomeActivity cannot be cast to com.zinedroid.hospitalmanagement.Common.Utility$CloseMenu

谁能帮帮我?

最佳答案

我已经解决了这个问题。closemenu 应该在实现 fragment 的 fragment 的 onAttach 中初始化。

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

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

关于android - 接口(interface)未在 fragment 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com