Android中如何获取动态创建view的id呢?

juckxu 2015-05-29 09:46:12
通常android界面是通过例如setContentView(R.layout.activity_main);这样的方式加载xml文件显示View的、
由于我的需求是动态创建view,所以没有相应的xml,通过解析json得到界面jsonview,然后通过 setContentView(jsonview)加载;
这样做界面显示没有任何问题。但是进一步,如果我想得到jsonview中的某个控件该如何做呢。
通过下面两个方法都无法获取jsonview中的控件。
方法1. int buttonid= this.getResources().getIdentifier("buttonJson1","id",this.getPackageName());
buttonid始终为0,
方法2. R.id.*这种方式更行不通。R.id.*中的id是在编译前生成的。
问题如何获取jsonview中的控件呢?假设我已经知道其id名称为buttonJson1,如何获取这个按钮控件,望高手指教 ,谢谢!
...全文
1305 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
juckxu 2015-05-29
  • 打赏
  • 举报
回复
还有没有更直接的办法啊?
juckxu 2015-05-29
  • 打赏
  • 举报
回复
原来想直接在资源中去找,目前还没有找到可行的办法,暂时解决办法就是自己保存动态创建的控件的id,方便后面的查找
juckxu 2015-05-29
  • 打赏
  • 举报
回复
引用 1 楼 lxfhjjsfq 的回复:
View有设置id的方法,你在解析json对象的的时候,对象里面多加个字段ID,然后设置jsonview的id,这样就可以对应起来了
和你说的方法差不多,目前已经解决了,我新建了一个HashMap用于保证动态创建的控件的名称和id这样后面就可以根据名称找控件了、
_xianfeng99 2015-05-29
  • 打赏
  • 举报
回复
View有设置id的方法,你在解析json对象的的时候,对象里面多加个字段ID,然后设置jsonview的id,这样就可以对应起来了

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧