【发布时间】:2017-04-03 11:49:44
【问题描述】:
我有这个界面:
public interface SomeInterface {
void doSomething();
}
我正在尝试在主要活动中对其进行初始化,并尝试将其“发送”到第二个活动:
private SomeInterface someInterface;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
someInterface = (SomeInterface) this;
someInterface.doSomething();
}
我在第二个活动中实现了接口。
public class SecondActivity extends Activity implements SomeInterface {
@Override
public void doSomething() {
}
}
但这不起作用,我收到以下错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{package.name/package.name.MainActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to package.name.AppInterface
我做错了什么?提前谢谢你。
【问题讨论】:
-
Michalsx,您需要在要处理 doSomething 事件的活动类中实现接口。检查这个答案,stackoverflow.com/a/18585247/4862126
-
MainActivity 应该实现 SomeInterface 而不是 SeconActivity
标签: android interface initialization