【发布时间】:2011-07-23 11:06:02
【问题描述】:
我有一个应用程序,它根据RadioGroup 中选定的RadioButton 确定要采用的执行路径。
当以下代码片段运行时,程序强制以InvocationTargetException 关闭:
private int getselctedRadioButtonId() {
RadioGroup group = (RadioGroup) findViewById(R.id.radioGroup1);
return group.getCheckedRadioButtonId();
}
我做错了什么?
我可以发布更多代码,但我认为这是有问题的部分。
我的目标是 Android 2.2。
编辑:这是主线程的完整堆栈跟踪:
Thread [<1> main] (Suspended (exception IllegalStateException))
View$1.onClick(View) line: 2072
Button(View).performClick() line: 2408
View$PerformClick.run() line: 8816
ViewRoot(Handler).handleCallback(Message) line: 587
ViewRoot(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
【问题讨论】:
-
InvocationTargetException 包装了另一个异常,你能告诉我们底层异常是什么吗?
-
@MByD 我该怎么做?我正在使用 Eclipse 和 ADT 插件。
-
在 Eclipse 上调试它。当您收到异常时,请查看“调试”窗口。或者,查看调试/DDMS 窗口中的 logcat 框。
-
InvocationTargetException 是一个经过检查的异常,它包装了被调用的方法或构造函数抛出的异常。那么哪一行导致异常?您是否检查了选择单选按钮时调用的方法?同时发布堆栈跟踪。
-
@MByD 它包装了一个
NullPointerException但就是这样,没有任何原因或任何与此异常相关的东西。
标签: android radio-button radio-group invocationtargetexception