【发布时间】:2019-04-12 18:31:24
【问题描述】:
我在一个公共类中创建了一个接口。我在Activity中调用了interface函数,我想在fragment中实现interface方法。
这是 Utility.java 中的接口
public interface CloseMenu{
public void closemenu(View view);
}
这就是我在 Activity 中调用此接口的方式: 声明:
public Utility.CloseMenu closeMenu;
初始化onCreate:
closeMenu= (Utility.CloseMenu) this;
调用接口:
closeMenu.closemenu(view);
在片段类中我已经实现了这个接口:
@Override
public void closemenu(View view) {
view=mLoginFragmentView;
slideDown(view);
}
但我正在崩溃:
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.zinedroid.hospitalmanagement/com.zinedroid.hospitalmanagement.Activity.HomeActivity}:java.lang.ClassCastException:com.zinedroid.hospitalmanagement.Activity.HomeActivity 无法强制转换到 com.zinedroid.hospitalmanagement.Common.Utility$CloseMenu
谁能帮帮我?
【问题讨论】:
-
我添加了android标签来吸引熟练的用户。只谈论“界面”可能意味着很多语言。
-
谢谢。但是你能帮我解决这个问题吗?
-
您在活动中使用
this- 这是活动本身。它似乎没有实现CloseMenu接口。您可能希望将closeMenu字段设置为实现接口的 Fragment 的适当实例? -
你是通过Activity来实现接口的吗?
-
@Reza 我在fargment中实现接口,但是在Activity中调用接口实例
标签: android interface fragment