我使用畫布繪製了一些位圖。這裏的一切都很好,我使用了類擴展視圖並使用了構造函數super(context,attributeset); 現在我想使用另一個類的方法,但如何讓這個工作,據我所知視圖擴展類需要這兩個構造函數,他們必須設置爲與Android(我試圖改變它,它告訴我它需要這樣的構造函數,因爲它擴展了視圖)。從延伸視圖的類調用方法(使用構造函數)
這是我的代碼:
public class GameBoard extends View{
private static final String tag = "GameBoard";
private Paint p;
private Load load;
public GameBoard(Context context, Load load) {
super(context);
p = new Paint();
this.load = load;
//還有很多更在這一類,但在這裏犯規事項。
}
而這是其他類:
public class Load{
Context context;
// TODO從文件加載這些相關信息,使紋理適合與手機屏幕尺寸 INT MSIZE = 99; int tSize = 48; int screenCoords = 160; int rectX = 10; int rectY = 16;
String coordsFileName ="coordsData.txt";
public Load (Context context) {
this.context = context;
}
編輯:
我發現了同樣的問題,爲大家解決方案。 在例如擴展的類只需創建一個對象: 擴展類: //上述構造申報對象關閉其他類
private OtherClass otherclass;
//並在其構造器,你只需創建一個新的對象
this.otherclass = new OtherClass();
現在我想用方法從另一個類,但如何得到這個工作,你可以更具體一點? – Triode 2013-04-22 09:50:35
@Triode我想用於例如位於類加載的getMapSize方法。爲了使用它,我需要一個構造函數來承擔負載,但是GameBoard已經得到了一個修復構造函數,因爲它延伸了視圖。 – G4meM0ment 2013-04-22 15:38:36