Android, переключатель / кейс на View с программно сгенерированными видами - PullRequest
1 голос
/ 17 января 2011

Обычно, когда я переключаю / регистрирую свои представления на клике, у меня нет проблем, потому что они определены в XML и имеют идентификаторы, поэтому я использую:

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

Однако теперь я определяю свои виды программно, поэтому у них нет статического идентификатора.

Как мне теперь включить эти представления? если я попробовал getID () для представлений, это не разрешено, потому что это не статично.

Идеи? Спасибо.

Ответы [ 3 ]

6 голосов
/ 17 января 2011

EDIT: Вам следует создать файл ids.xml и ссылаться на него в своем коде при программном создании представления.

1 голос
/ 17 января 2011

Вы можете сделать View.setId () при создании ваших представлений.

0 голосов
/ 17 января 2011

Тогда не используйте оператор switch (IMO, выглядит плохо, просто IMO).Так что, если вы генерируете представления программно, установите программный приемник щелчков также:

Button button = new Button(this);
button.setOnClickListener(new OnClickListener(){
    public void onClick(View v){
        // execute specific behavior
    }
});
...