如何在Android上获取父ID?

如何在Android上获取父ID?,第1张

概述我试图获取RadioButton的父ID(RadioGroup的id)RadioGrouprg=(RadioGroup)arg0.getParent();但它失败了.建设之后RadioGrouprg=(RadioGroup)findViewById(R.id.radiogr);效果很好.如何在运行时获取父ID?失败了这些日志:12-2617:11:05.205:E/AndroidRuntime(912):

我试图获取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?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存