嘿,我想在我的遊戲中實現一個新的谷歌播放開發者控制檯託管的排行榜。在本教程中,您必須使用BaseGameActivity
來擴展您的Activity類。因爲你不能擴展2個不同的類,所以我認爲在extends BaseGameActivity
找到它的位置的時候創建另一個類是有意義的,所以我可以每次從我的MainActivity(擴展Activity,例如UI元素)需要它們時調用BaseGameActivity
。MainActivity中的android.gms.common.SignInButton?
我調用函數的符號在我的MainActivity:
public void onClick(View v) {
if (v.getId() == R.id.sign_in_button) {
new Submit().signin();
}
提交的擴展BaseGameActivity類,方法signin()
看起來像這樣:
public void signin()
{ beginUserInitiatedSignIn();}
如果我那樣做,點擊谷歌的登錄按鈕,我得到以下錯誤(應用程序部隊關閉):
07-02 02:34:35.491: E/AndroidRuntime(21287): java.lang.NullPointerException
07-02 02:34:35.491: E/AndroidRuntime(21287): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:131)
07-02 02:48:51.178: E/AndroidRuntime(21431): FATAL EXCEPTION: main
07-02 02:48:51.178: E/AndroidRuntime(21431): java.lang.NullPointerException
07-02 02:48:51.178: E/AndroidRuntime(21431): at android.content.ContextWrapper.getPackageManager(ContextWrapper.java:116)
07-02 02:48:51.178: E/AndroidRuntime(21431): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
07-02 02:48:51.178: E/AndroidRuntime(21431): at com.google.example.games.basegameutils.GameHelper.beginUserInitiatedSignIn(GameHelper.java:445)
07-02 02:48:51.178: E/AndroidRuntime(21431): at com.google.example.games.basegameutils.BaseGameActivity.beginUserInitiatedSignIn(BaseGameActivity.java:132)
07-02 02:48:51.178: E/AndroidRuntime(21431): at PACKAGENAME.Submit.signin(Submit.java:25)
07-02 02:48:51.178: E/AndroidRuntime(21431): at PACKAGENAME.APPNAME.MainActivity.onClick(MainActivity.java:181)
當我試圖解決上下文或類似問題時,出現了類似的錯誤。
我的想法是管理其他類中的google方法錯誤,或者它甚至可以像那樣撤銷嗎?如果不是,當我不擴展活動時應如何管理UI元素,因爲我想擴展BaseGameActivity
?
很抱歉,如果我的文字看起來雜亂無章,但我現在在這個問題坐了6小時,我的眼睛都在流血現在..
謝謝你的答案
好吧我現在知道了BaseGameActivity包含了所有的Activity函數。不知何故,我的個人電腦和我第一次沒有弄清楚這一點。感謝您的提示,我會將其標記爲答案:)歡迎致電 – user2330482
歡迎您。 – IanB