Таймер в расширенном списке с динамической кнопкой Android - PullRequest
5 голосов
/ 19 февраля 2012

У меня есть кнопка R1, которая является динамической и создается в расширенном представлении списка, я не могу создать ее как public, потому что она создавалась во время выполнения много раз, теперь проблема в том, что я хочу изменить текст кнопки какТаймер работает.Как я могу изменить текст кнопки в методе запуска таймера, потому что у представления нет метода settext.

    R1 = (Button) v.findViewById(R.id.R1);
                             R1.setOnClickListener(new OnClickListener(){
                    boolean R1state=true;
                    TimerTask scanTask;
                    final Handler handler = new Handler();
                    Timer t = new Timer();
                    boolean time=true;

                @Override
                public void onClick( View v) {
                    // TODO Auto-generated method stub
                    scanTask = new TimerTask() {
                        public void run() {
                                handler.post(new Runnable() {
                                        public void run() {
/// here need to change R1 text as timer go                        }
                               });
                        }};


                    if(!R1state)
                    {v.getBackground().setColorFilter(Color.GREEN, Mode.ADD);
                    t.cancel();
                    v.setEnabled(false);

                    //R1state=true;
                    }
                    else
                    {    t.schedule(scanTask, 300, 30000); 
                        v.getBackground().setColorFilter(Color.RED, Mode.ADD);
                    R1state=false;
                    }
                    ;
                }
            });;

1 Ответ

2 голосов
/ 20 февраля 2012

Просто приведите вид к кнопке:

@Override
public void onClick(final View v) 
{
   Button btn = (Button) v;
   btn.setText("YourText");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...