2017-01-12 61 views
0

我正在爲某些練習遊戲實施Google的一些實時多人遊戲示例,並且遇到了一個錯誤。我幾乎只是從他們的網站上使用他們的代碼,試圖瞭解它是如何工作的,並用一個簡單的候車室拼湊出一個實時的遊戲。 但是,它給了我上面描述的錯誤&我不能爲我的生活理解爲什麼。錯誤來自的代碼位於下方,Android Studio強調了第一個(this),但沒有提供進一步的解釋。錯誤:不兼容的類型:QuickGame無法轉換爲RoomUpdateListener

private RoomConfig.Builder makeBasicRoomConfigBuilder() { 
    return RoomConfig.builder(this) 
      .setMessageReceivedListener(this) 
      .setRoomStatusUpdateListener(this); 
} 

程序本身幾乎就是在這個頁面上找到的代碼 - 沒有任何改變。 https://developers.google.com/games/services/android/realtimeMultiplayer但如果代碼被要求,我會發布。

謝謝,我希望這只是一個明顯的例子,像我這樣的新手忽略了。 d:

+0

您不打算在你的類'RoomUpdateListener'。分享你的類的第一行,你定義類的名字,比如'class MyClassName' – Pztar

+0

'public class QuickGame extends AppCompatActivity {'This is it。添加'實現RoomUpdateListener'會給我錯誤:/ –

+0

是的,因爲你不覆蓋接口的方法。如果你在Android Studio中,你可以將鼠標懸停在實現中的RoomUpdateListener上並按下Alt + Enter鍵,系統會提示你添加該接口的方法,點擊它並自動添加到你的代碼。 – Pztar

回答

0

你可以找到一個完整的源here

如果你看一下類定義它實現RoomUpdateListener所有你需要做的就是改變你的Activity相匹配。在你的例子中它是

public class QuickGame extends AppCompatActivity implements RoomUpdateListener 

確保你將接口的@Override方法添加到你的代碼中。在Android Studio中,您可以將鼠標懸停在界面的紅色下劃線上,然後按Alt + Enter,您會看到一個菜單,要求您執行這些方法。選擇它,它們會自動添加到您的代碼中。

你可以找到所有的接口方法here因此,例如onJoinedRoom(..)看起來像這樣在你的代碼

@Override 
public void onJoinedRoom(int statusCode, Room room) { 
    //your code here 
} 
相關問題