Android,使用以编程方式生成的视图在视图上进行 switch/case
通常,当我在单击时切换/设置视图时,不会有任何问题,因为它们是在 XML 中定义的并且具有 ID,因此我使用:
switch(v.getID())
{
case(R.id.someButton):
{
// do something
}
default: // bla
}
但是,我现在以编程方式定义视图,因此它们没有静态 ID。
我现在应该如何打开这些视图?如果我在视图上尝试 getID() ,这是不允许的,因为它不是静态的。
有想法吗?谢谢。
Normally, when I switch/case my views onClick, I have no problems because they were defined in the XML and have ID's so I use:
switch(v.getID())
{
case(R.id.someButton):
{
// do something
}
default: // bla
}
However, I am now defining my views programatically and so they don't have a static ID.
How should I now switch on these views? if I tried getID() on the views it's not allowed because it isn't static.
Ideas? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
编辑:
您应该创建 ids.xml 文件并在您的以编程方式创建视图时编写代码。
EDIT:
You should create ids.xml file and refer it in your code while creating view programmatically.
您可以在创建视图时执行 View.setId() 。
You could do View.setId() when you create your views.
然后,不要使用 switch 语句(IMO,它看起来很糟糕,只是 IMO)。因此,如果您以编程方式生成视图,也请以编程方式设置点击侦听器:
Then, don't use the switch statement (IMO, it looks bad, just IMO). So, if you are generating views programmatically, set a click listener programmatically too: