2012-02-19 7 views
5

Mam przycisk R1, który jest dynamiczny i utworzyć w widoku listy rozszerzonej, nie mogę go utworzyć jako public, ponieważ jest tworzony w czasie wykonywania wiele razy, teraz problem jest Chcę zmienić tekst przycisku działającego jako timer. Jak mogę zmienić tekst przycisku w metodzie run timer, ponieważ widok nie ma metody settext.Timer w rozwiniętej liście z dynamicznym przyciskiem android

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

Odpowiedz

2

Wystarczy rzucić View do przycisku:

@Override 
public void onClick(final View v) 
{ 
    Button btn = (Button) v; 
    btn.setText("YourText"); 
}