我有一個遊戲活動,當它結束時,它轉到主菜單,現在我需要禁用啓動剛剛結束的遊戲的按鈕。讓我們打電話給我的遊戲類classGame和我的菜單classMenu。我想:如何在其他活動中禁用按鈕?
classMenu obj = new classMenu();
然後在同一個類時,適當的時候我打電話:
我classGameobj.myButtonToBeDisabled.setEnabled(false);
,但我得到stactOverflow上線的錯誤我創建在我的obj,我的菜單活動很快開始。這個怎麼做?
編輯: 我也在我gameClass試過這樣:
public void disableButton(){
button.setEnabled(false);
}
,然後調用它:
obj.disableButton
但同樣的錯誤。
的logcat:
04-06 16:30:48.709: I/dalvikvm(25015): threadid=1: stack overflow on call to Ljava/lang/VMThread;.currentThread:L
04-06 16:30:48.709: I/dalvikvm(25015): method requires 0+20+0=20 bytes, fp is 0x4214d300 (0 left)
04-06 16:30:48.709: I/dalvikvm(25015): expanding stack end (0x4214d300 to 0x4214d000)
04-06 16:30:48.769: I/dalvikvm(25015): Shrank stack (to 0x4214d300, curFrame is 0x4214fcb0)
04-06 16:30:48.899: D/AndroidRuntime(25015): Shutting down VM
04-06 16:30:48.899: W/dalvikvm(25015): threadid=1: thread exiting with uncaught exception (group=0x40018560)
04-06 16:30:49.369: D/dalvikvm(25015): GC_CONCURRENT freed 325K, 50% free 2850K/5639K, external 0K/0K, paused 5ms+24ms
04-06 16:30:49.459: E/AndroidRuntime(25015): FATAL EXCEPTION: main
04-06 16:30:49.459: E/AndroidRuntime(25015): java.lang.StackOverflowError
04-06 16:30:49.459: E/AndroidRuntime(25015): at java.lang.Thread.currentThread(Thread.)
04-06 16:30:49.459: E/AndroidRuntime(25015): at java.lang.ThreadLocal.get(ThreadLocal.java:59)
04-06 16:30:49.459: E/AndroidRuntime(25015): at android.os.Looper.myLooper(Looper.)
04-06 16:30:49.459: E/AndroidRuntime(25015): at android.os.Handler.<init>(Handler.)
04-06 16:30:49.459: E/AndroidRuntime(25015): at android.app.Activity.<init>(Activity.)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:17)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Izbor.<init>(Izbor.java:19)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.androidaplikacije.toplo_hladno.Asocijacije.<init>(Asocijacije.java:32)
04-06 16:30:49.459: E/AndroidRuntime(25015): at rs.android
04-06 16:30:49.659: D/dalvikvm(25015): GC_CONCURRENT freed 522K, 51% free 2899K/5895K, external 0K/0K, paused 7ms+5ms
Asocijacije是我gameClass,並Izbor在我menuClass。
你可以在開始遊戲前禁用*按鈕*只要點擊它?)。要麼或者使用startActivityForResult http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content。Intent,%20int)在活動結束時獲得回調? – 2013-04-06 14:10:50
其實我並不是很瞭解你描述的錯誤......如果你有一個堆棧溢出,尋找循環函數調用 - 即函數A調用函數B調用函數A(A和B也可能在不同的類中) )。 – 2013-04-06 14:14:21
如果你想讓用戶不能點擊它並且它不出現,使用'button.setVisible(false);' – Justin 2013-04-06 15:32:19