我有一个游戏活动,当它结束时,它转到主菜单,现在我需要禁用启动刚刚结束的游戏的按钮。让我们打电话给我的游戏类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