Android,切换/案例在View上以编程方式生成的视图

时间:2011-01-17 14:34:20

标签: android view switch-statement

通常,当我在onClick上切换/封送我的视图时,我没有问题,因为它们是在XML中定义的并且具有ID,所以我使用:

switch(v.getID())
{
case(R.id.someButton):
{
  // do something
}
default: // bla
}

但是,我现在以编程方式定义我的视图,因此他们没有静态ID。

我现在应该如何切换这些视图?如果我在视图上尝试了getID(),那么它是不允许的,因为它不是静态的。

想法?感谢。

3 个答案:

答案 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
    }
});