我有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