我有3个具有相同功能的类。 H类是一个控制器类,所以我创建了一个setactivity类来获取调用它的活动的实例。现在我不得不从控制器类H中调用当前初始化类的函数userleft(),这是一个非Activity。从非活动类别的不同活动中调用方法
我得到的错误是“方法userleft()未定义的类型活动”,我知道会发生异常,因为类Activity不包含称为userLeft()的方法。但是做这项工作的最好方法是什么?
查看下面的应用程序的结构。
public class A extends Activity {
void onCreate(Bundle savedInstanceState) {
H.getInstance().setactivity(this);
}
public void userleft() {
}
}
public class B extends Activity {
void onCreate(Bundle savedInstanceState) {
H.getInstance().setactivity(this);
}
public void userleft() {
}
}
public class C extends Activity {
void onCreate(Bundle savedInstanceState) {
H.getInstance().setactivity(this);
}
public void userleft() {
}
}
,我有另一种非活性类
public class H {
public static H getInstance() {
if (instance == null) {
instance = new H();
}
return instance;
}
public void setActivity(Activity activity) {
this.activityGame = activity;
}
public void randomCallBack(){
activityGame.userleft();
}
}
谢谢!
第二种方法完美运作。 –
@SanjuSonyKurian那是我会用的那个。很高兴它适合你! – crigore