0
我有包含主類對象的依賴(與聽衆,在libgdx)
registerscreen = new registerScreen(this);
emailRegisterscreen = new emailRegisterScreen(this);
的registerScreen
包含emailButton,向監聽器,在構造函數中提出:
emailButton.addListener(new ClickListener() {
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
super.touchUp(event, x, y, pointer, button);
Gdx.app.log("registerscreen", "email clicked");
gameHolder.setScreen(gameHolder.emailRegisterscreen);
}
});
gameHolder
是主要的類。
現在,以上示例僅適用於在emailScreen
之前初始化emailRegisterscreen
(上面的代碼段不起作用)。我想知道是否有可能使它工作,並仍然首先定義寄存器屏幕?
我猜Java使用當前值gameHolder.emailRegisterscreen
而不是對它的引用或其他東西。
我不確定你到底在問什麼,它是否返回空指針異常?它什麼都不做?在調用touchUp方法時,匿名類將使用gameHolder的當前值。 – Jyro117 2013-03-14 21:09:53
*「我在猜測Java使用'gameHolder.emailRegisterscreen'的當前值而不是引用它或其他東西。」*否,情況並非如此,Java在執行時使用該字段的值。所以註冊的順序(在你的示例代碼片段中)並不重要。我猜你的代碼還有其他問題。你可能想詳細說明什麼是不工作的,你是否有錯誤,是否沒有發生? – Veger 2013-03-15 09:05:03