通常,当我在onClick上切换/封送我的视图时,我没有问题,因为它们是在XML中定义的并且具有ID,所以我使用:
switch(v.getID())
{
case(R.id.someButton):
{
// do something
}
default: // bla
}
但是,我现在以编程方式定义我的视图,因此他们没有静态ID。
我现在应该如何切换这些视图?如果我在视图上尝试了getID(),那么它是不允许的,因为它不是静态的。
想法?感谢。
答案 0 :(得分:6)
编辑: 您应该创建ids.xml文件,并在以编程方式创建视图时在代码中引用它。
答案 1 :(得分:1)
您可以在创建视图时执行View.setId()。
答案 2 :(得分:0)
然后,不要使用switch语句(IMO,它看起来很糟糕,只是IMO)。因此,如果您以编程方式生成视图,请以编程方式设置单击侦听器:
Button button = new Button(this);
button.setOnClickListener(new OnClickListener(){
public void onClick(View v){
// execute specific behavior
}
});