我试图获取Radiobutton的父ID(RadioGroup的ID)
RadioGroup rg = (RadioGroup) arg0.getParent();
但它失败了.建设之后
RadioGroup rg = (RadioGroup) findVIEwByID(R.ID.radiogr);
效果很好.如何在运行时获取父ID?
失败了这些日志:
12-26 17:11:05.205: E/AndroIDRuntime(912): FATAL EXCEPTION: main12-26 17:11:05.205: E/AndroIDRuntime(912): java.lang.classCastException: androID.Widget.linearLayout12-26 17:11:05.205: E/AndroIDRuntime(912): at com.letmedraw.shopcart.ShopCartActivity.onCheckedChanged(ShopCartActivity.java:96)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.RadioGroup.setCheckedID(RadioGroup.java:172)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.RadioGroup.access0(RadioGroup.java:52)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:342)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.Compoundbutton.setChecked(Compoundbutton.java:127)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.Compoundbutton.toggle(Compoundbutton.java:86)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.Radiobutton.toggle(Radiobutton.java:69)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.Widget.Compoundbutton.performClick(Compoundbutton.java:98)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.vIEw.VIEw$PerformClick.run(VIEw.java:8816)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.os.Handler.handleCallback(Handler.java:587)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.os.Handler.dispatchMessage(Handler.java:92)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.os.Looper.loop(Looper.java:123)12-26 17:11:05.205: E/AndroIDRuntime(912): at androID.app.ActivityThread.main(ActivityThread.java:4627)12-26 17:11:05.205: E/AndroIDRuntime(912): at java.lang.reflect.Method.invokeNative(Native Method)12-26 17:11:05.205: E/AndroIDRuntime(912): at java.lang.reflect.Method.invoke(Method.java:521)12-26 17:11:05.205: E/AndroIDRuntime(912): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)12-26 17:11:05.205: E/AndroIDRuntime(912): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:626)12-26 17:11:05.205: E/AndroIDRuntime(912): at dalvik.system.NativeStart.main(Native Method)
解决方法:
androID中的所有视图(控件)都是VIEw类型,因此您可以使用getID()来查找ID.
int parentID = ((VIEw) arg0.getParent()).getID();
总结 以上是内存溢出为你收集整理的如何在Android上获取父ID?全部内容,希望文章能够帮你解决如何在Android上获取父ID?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)